[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN102646452B - Programmable memory and its writing and reading method - Google Patents

Programmable memory and its writing and reading method Download PDF

Info

Publication number
CN102646452B
CN102646452B CN201110042004.2A CN201110042004A CN102646452B CN 102646452 B CN102646452 B CN 102646452B CN 201110042004 A CN201110042004 A CN 201110042004A CN 102646452 B CN102646452 B CN 102646452B
Authority
CN
China
Prior art keywords
programmable memory
address
unit
bit length
time programmable
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.)
Active
Application number
CN201110042004.2A
Other languages
Chinese (zh)
Other versions
CN102646452A (en
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.)
Pixart Imaging Inc
Original Assignee
Pixart Imaging 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 Pixart Imaging Inc filed Critical Pixart Imaging Inc
Priority to CN201110042004.2A priority Critical patent/CN102646452B/en
Publication of CN102646452A publication Critical patent/CN102646452A/en
Application granted granted Critical
Publication of CN102646452B publication Critical patent/CN102646452B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Read Only Memory (AREA)

Abstract

本发明提供一种可编程存储器及其写入和读取方法,该可编程存储器包含多个单次可编程存储器单元、一搜寻单元、一写入单元及一读取单元。所述多个单次可编程存储器单元对应多个地址。该搜寻单元用以在一写入动作中自所述多个单次可编程存储器单元中,搜寻最接近的可写入可编程存储器单元,或在一读取动作中自所述多个单次可编程存储器单元中,搜寻最后一组已程序化存储器单元。该写入单元用于自该最接近的可写入可编程存储器单元,紧接地写入一输入数据的位元长度以及该输入数据。该读取单元用于自该最后一组已程序化的存储器单元中依序读取数据。本发明提供的包含多个单次可编程存储器单元的可编程存储器具有合理应用存储空间的优点。

The present invention provides a programmable memory and a writing and reading method thereof, wherein the programmable memory comprises a plurality of single-time programmable memory cells, a search unit, a writing unit and a reading unit. The plurality of single-time programmable memory cells correspond to a plurality of addresses. The searching unit is used to search for the closest writable programmable memory cell from the plurality of single-time programmable memory cells in a writing operation, or to search for the last group of programmed memory cells from the plurality of single-time programmable memory cells in a reading operation. The writing unit is used to write the bit length of an input data and the input data immediately from the closest writable programmable memory cell. The reading unit is used to read data sequentially from the last group of programmed memory cells. The programmable memory comprising a plurality of single-time programmable memory cells provided by the present invention has the advantage of reasonable application of storage space.

Description

可编程存储器及其写入和读取方法Programmable memory and its writing and reading method

技术领域 technical field

本发明涉及一种可编程存储器及其写入和读取方法,尤其涉及一种包含多个单次可编程存储器单元的可编程存储器及其写入和读取方法。The invention relates to a programmable memory and its writing and reading method, in particular to a programmable memory including a plurality of one-time programmable memory units and its writing and reading method.

背景技术 Background technique

在集成电路的制造过程中,由于设备机台间的工艺参数变异,使得个别的集成电路制造完成后在每一批货(lot)与货之间、每一片晶圆(wafer)与晶圆之间,甚至同一片晶圆上的每一颗晶粒(die)与晶粒之间,存在程度不一的工艺参数变异,造成集成电路元件,例如:电阻、电容、晶体管等,产生元件参数的变化。因此,由元件组成的电路,例如震荡器或是电压调整器(VoltageRegulator)等,其频率或是输出电压值会与设计值有所误差。如果这些电路的参数变异量过大,而超过规格书制订的误差范围,在测试时就会被判定为不良品。因此,集成电路制造厂商往往需要进行微调步骤以修正电路的误差,借以提升制造良率(yield)。一般而言,微调步骤大多使用保险丝(fuse)或是金属丝等的一次可编程(One-TimeProgramming,以下简称OTP)元件,来达到微调的功能。In the manufacturing process of integrated circuits, due to the variation of process parameters between equipment and machines, after the completion of individual integrated circuit manufacturing, there is a gap between each batch of goods (lot) and goods, and between each wafer (wafer) and wafer. Between, and even between each die on the same wafer, there are varying degrees of variation in process parameters, resulting in integrated circuit components, such as resistors, capacitors, transistors, etc., resulting in variations in component parameters Variety. Therefore, the frequency or output voltage of a circuit composed of components, such as an oscillator or a voltage regulator (Voltage Regulator), will deviate from the design value. If the parameter variation of these circuits is too large and exceeds the error range specified in the specification, it will be judged as a defective product during testing. Therefore, integrated circuit manufacturers often need to perform fine-tuning steps to correct circuit errors, so as to improve manufacturing yield (yield). Generally speaking, one-time programming (OTP) elements such as fuses or metal wires are mostly used in the fine-tuning step to achieve the fine-tuning function.

一般集成电路常使用的OTP调整方法为激光修补(lasertrim)或是保险丝修补(polyfuse或称E-fuse)等方法。激光修补方法使用多组OTP元件,例如金属线段,以进行程序化(programming)步骤。在程序化的过程中,高能量的激光会使用以烧毁不同的金属线段。另一方面,保险丝修补方法使用多组OTP元件,例如多晶硅线段或是金属线段,以进行程序化步骤。在程序化的过程中,大电流或电压会使用以烧毁不同的多晶硅线段或是金属线段。上述程序化过程为一不可逆的破坏性动作,也就是这些OTP元件在程序化后,将无法再次被使用。Generally, OTP adjustment methods commonly used in integrated circuits are laser trimming (lasertrim) or fuse repairing (polyfuse or E-fuse). The laser repair method uses groups of OTP elements, such as metal wire segments, to perform a programming step. During the programming process, a high-energy laser is used to burn away the various metal wire segments. On the other hand, the fuse repair method uses multiple sets of OTP elements, such as polysilicon lines or metal lines, to perform the programming step. During the programming process, high current or voltage is used to burn out different polysilicon line segments or metal line segments. The above programming process is an irreversible destructive action, that is, these OTP components cannot be used again after programming.

为了达到多次可编程的目的,多次可编程(Multiple-TimeProgramming,以下简称MTP)元件,例如:可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、快闪存储器(FLASHMEMORY)等MTP元件,可被使用以实现多次可编程的目的。然而,MTP元件需要额外的电路和复杂的工艺步骤才可获得,其工艺成本较高,且与半导体工艺的关联性高,故不易分散产能风险。In order to achieve the purpose of multiple programming, multiple programmable (Multiple-Time Programming, hereinafter referred to as MTP) components, such as: erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM) , Flash memory (FLASHMEMORY) and other MTP components can be used to achieve the purpose of multiple programming. However, MTP components require additional circuits and complex process steps to obtain, and their process costs are high, and are highly related to semiconductor processes, so it is not easy to disperse production capacity risks.

因此,若OTP元件可采用以达到多次可编程的功能,则可降低制造步骤及成本,且保有多次设定的弹性。在公知技术中美国公告专利第6728137号揭示一种可编程存储器架构。参照图1,该可编程存储器10是利用多组的OTP存储器区块15来达到多次可编程的功能。该可编程存储器10通过控制电路11以经由列解码器12与行解码器13来写入与读取数据。在动作时,该可编程存储器10必须额外利用记录元件14来记录哪个或哪些单次可编程存储器区块15已被程序化。Therefore, if the OTP element can be used to achieve multiple programmable functions, the manufacturing steps and costs can be reduced, and the flexibility of multiple settings can be maintained. In the prior art, US Patent Publication No. 6728137 discloses a programmable memory architecture. Referring to FIG. 1 , the programmable memory 10 utilizes multiple sets of OTP memory blocks 15 to achieve multiple programmable functions. The programmable memory 10 controls the circuit 11 to write and read data through the column decoder 12 and the row decoder 13 . During operation, the programmable memory 10 must additionally use the recording element 14 to record which one or which one-time programmable memory blocks 15 have been programmed.

公知架构中的可编程存储器10在每次重新写入数据时,不管数据的位元长度多大,都会写入一组新的单次可编程存储器元件中。因此,即使写入的数据仅有一位元(1-bit)长度,公知方式都会用到一组完整的单次可编程存储器元件以储存数据。换言之,公知架构在写入输入数据时,会浪费多余的存储器空间。In the programmable memory 10 in the known architecture, each time data is rewritten, no matter how big the bit length of the data is, it will be written into a new set of one-time programmable memory elements. Therefore, even if the data to be written is only 1-bit in length, the conventional method uses a complete set of one-time programmable memory elements to store the data. In other words, the conventional architecture wastes extra memory space when writing input data.

基于上述理由,业界迫切需要一种包含多个单次可编程存储器单元的可编程存储器,以解决上述问题。Based on the above reasons, the industry urgently needs a programmable memory including a plurality of one-time programmable memory cells to solve the above problems.

发明内容 Contents of the invention

为了解决现有技术存在的上述问题,本发明揭示一种可编程存储器及其写入和读取方法。In order to solve the above-mentioned problems in the prior art, the present invention discloses a programmable memory and its writing and reading methods.

根据本发明一实施例,该可编程存储器包含多个单次可编程存储器单元、一搜寻单元、一写入单元及一读取单元。所述多个单次可编程存储器单元对应多个地址。该搜寻单元用以在一写入动作中自所述多个单次可编程存储器单元中,搜寻最接近的可写入可编程存储器单元,或在一读取动作中自所述多个单次可编程存储器单元中,搜寻最后一组已程序化存储器单元。该写入单元用于自该最接近的可写入可编程存储器单元,紧接地写入一输入数据的位元(bit)长度以及该输入数据。该读取单元用于自该最后一组已程序化的存储器单元中依序读取数据。According to an embodiment of the present invention, the programmable memory includes a plurality of one-time programmable memory units, a search unit, a write unit and a read unit. The multiple one-time programmable memory cells correspond to multiple addresses. The search unit is used for searching the closest writable programmable memory cell from the plurality of one-time programmable memory cells in a write operation, or from the plurality of one-time programmable memory cells in a read operation Among the programmable memory cells, the last group of programmed memory cells is searched. The writing unit is used for writing the bit length of an input data and the input data from the closest writable programmable memory unit. The read unit is used for sequentially reading data from the last group of programmed memory cells.

本发明的另一实施范例揭示一种可编程存储器的写入方法,其中该可编程存储器包含多个单次可编程存储器单元,对应多个地址。该写入方法包含下列步骤:自一起始地址搜寻最接近的可写入可编程存储器单元;以及自该最接近的可写入可编程存储器单元紧接地进行以下数据写入步骤:写入一输入数据的位元长度;及写入该输入数据。Another embodiment of the present invention discloses a method for writing a programmable memory, wherein the programmable memory includes a plurality of one-time programmable memory cells corresponding to a plurality of addresses. The writing method comprises the steps of: searching for the closest writable programmable memory unit from a start address; and performing the following data writing steps from the closest writable programmable memory unit: writing an input the bit length of the data; and writing the input data.

本发明的又一实施范例揭示一种可编程存储器的读取方法,其中该可编程存储器包含多个单次可编程存储器单元,对应多个地址。该可编程存储器依照上述实施范例所揭示的写入方法写入数据。该读取方法包含下列步骤:自一起始地址搜寻最后一组已程序化存储器单元;以及依序自该最后一组已程序化的存储器单元中读取数据。Yet another embodiment of the present invention discloses a method for reading a programmable memory, wherein the programmable memory includes a plurality of one-time programmable memory cells corresponding to a plurality of addresses. Data is written in the programmable memory according to the writing method disclosed in the above-mentioned embodiment examples. The reading method includes the following steps: searching the last group of programmed memory cells from a starting address; and sequentially reading data from the last group of programmed memory cells.

本发明提供的包含多个单次可编程存储器单元的可编程存储器具有合理应用存储空间的优点。The programmable memory comprising a plurality of one-time programmable memory units provided by the present invention has the advantage of rational application of storage space.

附图说明 Description of drawings

图1为显示一公知可编程存储器的方框示意图;FIG. 1 is a schematic block diagram showing a known programmable memory;

图2为本发明一实施例的可编程存储器的方框示意图;2 is a schematic block diagram of a programmable memory according to an embodiment of the present invention;

图3为本发明一实施例的可编程存储器的写入方法的流程图;3 is a flowchart of a writing method of a programmable memory according to an embodiment of the present invention;

图4为显示本发明一实施例的该搜寻单元的方框示意图;FIG. 4 is a schematic block diagram showing the search unit according to an embodiment of the present invention;

图5显示本发明一实施例的可编程存储器的写入方式;Fig. 5 shows the writing mode of the programmable memory of an embodiment of the present invention;

图6为本发明一实施例的可编程存储器的读取方法的流程图;及6 is a flowchart of a method for reading a programmable memory according to an embodiment of the present invention; and

图7显示本发明一实施例的可编程存储器的读取方式。FIG. 7 shows a reading method of a programmable memory according to an embodiment of the present invention.

上述附图中的附图标记说明如下:The reference numerals in the above-mentioned accompanying drawings are explained as follows:

10可编程存储器10 programmable memories

11控制电路11 control circuit

12列解码器12-column decoder

13行解码器13 line decoder

14记录元件14 recording elements

15OTP存储器区块15OTP memory block

20可编程存储器20 programmable memories

21检查单元21 Examination unit

22存储器阵列22 memory array

24搜寻单元24 search unit

242地址给定单元242 address given unit

244检查单元244 inspection units

246位移单元246 displacement units

26写入单元26 write units

28读取单元28 read units

100,200,300OTP存储器单元100, 200, 300OTP memory cells

110,220,330标示栏110, 220, 330 marking column

S20~S22步骤Steps from S20 to S22

S50~S52步骤Steps S50-S52

具体实施方式 detailed description

本发明在此所探讨的方向为一种可编程存储器及其写入和读取方法。为了能彻底地了解本发明,将在下列的描述中提出详尽的步骤及结构。显然地,本发明的施行并未限定于相关领域的技术人员所熟习的特殊细节。另一方面,众所周知的结构或步骤并未描述于细节中,以避免造成本发明不必要的限制。本发明的较佳实施例会详细描述如下,然而除了这些详细描述之外,本发明还可以广泛地施行在其他的实施例中,且本发明的范围不受限定,其以所附的权利要求为准。The direction of the present invention discussed here is a programmable memory and its writing and reading methods. In order to have a thorough understanding of the present invention, detailed steps and structures will be presented in the following description. It is evident that the practice of the invention is not limited to specific details familiar to those skilled in the relevant art. In other instances, well-known structures or steps are not described in detail in order to avoid unnecessarily limiting the invention. The preferred embodiments of the present invention will be described in detail as follows, but in addition to these detailed descriptions, the present invention can also be widely implemented in other embodiments, and the scope of the present invention is not limited, it is based on the appended claims allow.

为更流畅地阐释本发明的可编程存储器的写入和读取方法的方法,以下将先描述执行本发明的方法的可编程存储器架构。图2本发明一实施例的可编程存储器20的方框示意图,其包含多个单次可编程(OTP)存储器单元22、一搜寻单元24、一写入单元26及一读取单元28。这些OTP存储器单元100、200及300位于一存储器阵列22内。该搜寻单元24设计用以在一写入动作中自该存储器阵列22中搜寻最接近的可写入可编程存储器单元,或在一读取动作中自该存储器阵列22中搜寻最后一组已程序化存储器单元。该写入单元26设计用于自该最接近的可写入可编程存储器单元,紧接地写入一输入数据的位元长度以及该输入数据。该读取单元28设计用于自该最后一组已程序化的存储器单元中依序读取数据。In order to explain the writing and reading method of the programmable memory of the present invention more smoothly, the programmable memory architecture implementing the method of the present invention will first be described below. FIG. 2 is a schematic block diagram of a programmable memory 20 according to an embodiment of the present invention, which includes a plurality of one-time programmable (OTP) memory units 22 , a search unit 24 , a write unit 26 and a read unit 28 . The OTP memory cells 100 , 200 and 300 are located in a memory array 22 . The search unit 24 is designed to search for the closest writable programmable memory cell from the memory array 22 in a write operation, or to search for the last set of programmed memory cells in the memory array 22 in a read operation. memory unit. The writing unit 26 is designed to write the bit length of an input data and the input data from the nearest writable programmable memory cell immediately. The read unit 28 is designed to sequentially read data from the last group of programmed memory cells.

参照图2,在本发明一实施例中,该可编程存储器20另包含一检查单元21,用以检查该可编程存储器20的剩余位元长度。该检查单元21设计用以读取该可编程存储器20的剩余位元长度,并比较该剩余位元长度与一待输入数据Data_in的位元长度。当该剩余位元长度大于该输入数据Data_in的位元长度时,该可编程存储器20始进行数据写入步骤。Referring to FIG. 2 , in an embodiment of the present invention, the programmable memory 20 further includes a checking unit 21 for checking the remaining bit length of the programmable memory 20 . The checking unit 21 is designed to read the remaining bit length of the programmable memory 20 and compare the remaining bit length with the bit length of a data to be input Data_in. When the remaining bit length is greater than the bit length of the input data Data_in, the programmable memory 20 starts to perform the data writing step.

图3为本发明一实施例的可编程存储器的写入方法的流程图。该可编程存储器包含多个单次可编程存储器单元,其对应多个地址。该写入方法包含下列步骤:自一起始地址搜寻最接近的可写入可编程存储器单元(步骤S20),及自该最接近的可写入可编程存储器单元紧接地进行以下数据写入步骤:写入一输入数据的位元长度和写入该输入数据(步骤S22)。以下将进一步说明本发明的可编程存储器的写入方法。FIG. 3 is a flowchart of a writing method of a programmable memory according to an embodiment of the present invention. The programmable memory includes a plurality of one-time programmable memory cells corresponding to a plurality of addresses. The writing method comprises the following steps: searching for the closest writable programmable memory unit from a starting address (step S20), and performing the following data writing steps from the closest writable programmable memory unit: Writing a bit length of input data and writing the input data (step S22). The writing method of the programmable memory of the present invention will be further described below.

参照图2,当该可编程存储器20进行一写入动作时,该搜寻单元24首先自该存储器阵列22中搜寻最接近的可写入可编程存储器单元,以准备写入数据。由于该存储器阵列22中的OTP存储器单元为一次可编程元件,故当某一OTP存储器单元已经程序化后,数据将无法再次被写入该存储器单元。因此,该可编程存储器20需要该搜寻单元24以选择未被程序化的OTP存储器单元。图4显示本发明一实施例的该搜寻单元24的方框示意图。该搜寻单元24包含一地址给定单元242、一检查单元244和一位移单元246。该地址给定单元242用以提供一起始地址或一更新地址至该存储器阵列22。该检查单元244用以检查该起始地址或该更新地址所对应的单次可编程存储器单元的已写入数据位元长度。该位移单元246用以根据该检查单元244的检查结果提供该更新地址至该地址给定单元242。Referring to FIG. 2 , when the programmable memory 20 performs a write operation, the search unit 24 first searches the memory array 22 for the closest writable programmable memory cell to prepare for writing data. Since the OTP memory cells in the memory array 22 are one-time programmable elements, once an OTP memory cell has been programmed, data cannot be written into the memory cell again. Therefore, the programmable memory 20 needs the search unit 24 to select unprogrammed OTP memory cells. FIG. 4 shows a schematic block diagram of the search unit 24 according to an embodiment of the present invention. The searching unit 24 includes an address setting unit 242 , a checking unit 244 and a displacement unit 246 . The address giving unit 242 is used for providing a start address or a refresh address to the memory array 22 . The check unit 244 is used for checking the written data bit length of the one-time programmable memory unit corresponding to the start address or the update address. The displacement unit 246 is used for providing the update address to the address setting unit 242 according to the checking result of the checking unit 244 .

现以一实施例说明本发明的该可编程存储器20的运行方式。请同时参照图4及图5,在该可编程存储器20执行一写入动作时,该地址给定单元242首先提供一起始地址,例如地址“0x0000”,至该存储器阵列22。接着,该检查单元244检查地址“0x0000”所对应的OTP存储器单元(本实施例为存储器单元100)是否已经程序化。在本发明一实施例中,该检查单元244通过检查该OTP存储器单元100的一标示栏110所储存的数据以判断该存储器单元100是否已经程序化。若该标示栏110储存位元“0”,代表该OTP存储器单元100尚未写入数据,故地址“0x0000”所对应的OTP存储器单元100即为最接近的可写入可编程存储器单元。参照图5,在本实施例中该标示栏110储存位元“X”,代表该OTP存储器单元100已经程序化,且已写入X位元长度的数据。因此,该位移单元246会将位元“0x0000”与已写入的位元长度(此处为X位元长度)加总,以获得一更新地址(地址“0x0000+X”)。An embodiment is now used to illustrate the operation of the programmable memory 20 of the present invention. Please refer to FIG. 4 and FIG. 5 at the same time. When the programmable memory 20 performs a write operation, the address giving unit 242 first provides a starting address, such as address “0x0000”, to the memory array 22 . Next, the checking unit 244 checks whether the OTP memory unit (memory unit 100 in this embodiment) corresponding to the address “0x0000” has been programmed. In an embodiment of the present invention, the checking unit 244 determines whether the memory unit 100 has been programmed by checking the data stored in a flag 110 of the OTP memory unit 100 . If the flag column 110 stores a bit “0”, it means that the OTP memory unit 100 has not been written with data, so the OTP memory unit 100 corresponding to the address “0x0000” is the closest writable programmable memory unit. Referring to FIG. 5 , in this embodiment, the flag column 110 stores a bit “X”, which means that the OTP memory unit 100 has been programmed, and data of X-bit length has been written. Therefore, the shift unit 246 adds up the bit “0x0000” and the written bit length (here, X bit length) to obtain an update address (address “0x0000+X”).

接着,该地址给定单元242提供该更新地址(地址“0x0000+X”)至该存储器阵列22。该检查单元244根据该更新地址检查对应的OTP存储器单元(本实施例为存储器单元200)的已写入数据位元长度。如图5所示,该OTP存储器单元200已写入Y位元长度的数据。故该位移单元246再次将地址“0x0000+X”与写入的Y位元长度加总,以获得下一更新地址(地址“0x0000+X+Y”)。Next, the address giving unit 242 provides the update address (address “0x0000+X”) to the memory array 22 . The check unit 244 checks the written data bit length of the corresponding OTP memory unit (the memory unit 200 in this embodiment) according to the update address. As shown in FIG. 5, the OTP memory cell 200 has been written with data of Y-bit length. Therefore, the shifting unit 246 sums the address “0x0000+X” and the written length of Y bits again to obtain the next update address (address “0x0000+X+Y”).

接着,该地址给定单元242提供该下一更新地址(地址“0x0000+X+Y”)至该存储器阵列22。该检查单元244根据该更新地址检查对应的OTP存储器单元(本实施例为存储器单元300)的已写入数据位元长度。如图5所示,该OTP存储器单元300中的标示栏330储存位元“0”,代表该OTP存储器单元300尚未写入数据,故地址“0x0000+X+Y”所对应的OTP存储器单元300即为最接近的可写入可编程存储器单元。Next, the address giving unit 242 provides the next update address (address “0x0000+X+Y”) to the memory array 22 . The check unit 244 checks the written data bit length of the corresponding OTP memory unit (the memory unit 300 in this embodiment) according to the update address. As shown in Figure 5, the label column 330 in the OTP memory unit 300 stores a bit "0", which means that the OTP memory unit 300 has not yet written data, so the OTP memory unit 300 corresponding to the address "0x0000+X+Y" That is, the closest writable programmable memory cell.

相较于公知架构,本发明所揭示的可编程存储器20利用OTP存储器单元的标示栏以判断该存储器单元是否已经程序化。因此,本发明所揭示的可编程存储器20不需要额外的记录元件来记录已经程序化的OTP存储器单元。此外,该可编程存储器20在每次重新写入数据时,会依据数据的位元长度配置存储器空间,再记录写入的数据位元长度于标示栏中。因此,只要通过检查OTP存储器单元的标示栏所储存的数据,即可得知本次写入数据的存储器单元的最新地址。换言之,使用本发明所揭示的可编程存储器20可充分利用存储器单元的储存空间。Compared with the conventional architecture, the programmable memory 20 disclosed in the present invention uses the flag column of the OTP memory cell to determine whether the memory cell has been programmed. Therefore, the programmable memory 20 disclosed in the present invention does not require additional recording elements to record programmed OTP memory cells. In addition, the programmable memory 20 configures the memory space according to the bit length of the data each time when rewriting data, and then records the written data bit length in the label column. Therefore, only by checking the data stored in the label column of the OTP memory unit, the latest address of the memory unit to which data is written this time can be known. In other words, the storage space of the memory unit can be fully utilized by using the programmable memory 20 disclosed in the present invention.

另一方面,当输入数据Data_in写入至该存储器阵列22中的这些OTP存储器单元后,一读取步骤将被执行以读取这些写入的数据。图6为本发明一实施例的可编程存储器的读取方法的流程图。依照前述步骤写入数据后,该读取方法包含下列步骤:自一起始地址搜寻最后一组已程序化存储器单元(步骤S50),及依序自该最后一组已程序化的存储器单元中读取数据(步骤S52)。现以一实施例说明本发明的该可编程存储器10的读取方法。On the other hand, after the input data Data_in is written into the OTP memory cells in the memory array 22 , a read step is performed to read the written data. FIG. 6 is a flowchart of a method for reading a programmable memory according to an embodiment of the present invention. After writing data according to the aforementioned steps, the reading method includes the following steps: searching for the last group of programmed memory cells from a starting address (step S50), and reading sequentially from the last group of programmed memory cells. Get data (step S52). Now, an embodiment is used to illustrate the reading method of the programmable memory 10 of the present invention.

请同时参照图4及图7,当该可编程存储器20进行一读取动作时,该搜寻单元24会自该存储器阵列22中搜寻最后一组已程序化存储器单元,以准备读取数据。在运行时,首先该地址给定单元242提供一起始地址,例如地址“0x0000”,至该存储器阵列22。接着,该检查单元244检查地址“0x0000”所对应的OTP存储器单元(本实施例为存储器单元100)的已写入数据位元长度。在本实施例中,该检查单元244检查该存储器单元100的标示栏110所储存的数据。若该标示栏110储存位元“0”,代表该存储器阵列22中的每一存储器单元均未写入数据,故将终止该读取动作。Please refer to FIG. 4 and FIG. 7 at the same time. When the programmable memory 20 performs a read operation, the search unit 24 searches the last group of programmed memory cells from the memory array 22 to prepare for reading data. During operation, firstly, the address giving unit 242 provides a start address, such as address “0x0000”, to the memory array 22 . Next, the checking unit 244 checks the written data bit length of the OTP memory unit (the memory unit 100 in this embodiment) corresponding to the address “0x0000”. In this embodiment, the checking unit 244 checks the data stored in the label column 110 of the memory unit 100 . If the flag 110 stores a bit “0”, it means that no data is written into each memory cell in the memory array 22 , so the read operation will be terminated.

在本实施例中,该标示栏110储存位元“Z”,代表该OTP存储器单元100已经程序化,且已写入Z位元长度的数据。故该位移单元246会将位元“0x0000”与已写入的位元长度(此处为Z位元长度)加总,以获得一更新地址(地址“0x0000+Z”)。接着,该地址给定单元242提供该更新地址(地址“0x0000+Z”)至该存储器阵列22。该检查单元244检查地址“0x0000+Z”所对应的存储器单元(本实施例为存储器单元200)的已写入数据位元长度。若该存储器单元的已写入数据位元长度等于零时,则该地址“0x0000+Z”的前一地址,也即地址“0x0000”,所对应的OTP存储器单元100即为该最后一组已程序化的存储器单元。In this embodiment, the flag column 110 stores a bit “Z”, which means that the OTP memory unit 100 has been programmed, and the data of Z-bit length has been written. Therefore, the shift unit 246 sums the bit “0x0000” and the written bit length (here, Z bit length) to obtain an update address (address “0x0000+Z”). Next, the address giving unit 242 provides the update address (address “0x0000+Z”) to the memory array 22 . The checking unit 244 checks the written data bit length of the memory unit (the memory unit 200 in this embodiment) corresponding to the address “0x0000+Z”. If the written data bit length of the memory unit is equal to zero, then the previous address of the address “0x0000+Z”, that is, the address “0x0000”, the corresponding OTP memory unit 100 is the last group of programmed optimized memory cells.

此外,若地址“0x0000+Z”所对应的存储器单元的已写入数据位元长度大于零时,则该位移单元246再次将地址“0x0000+Z”与写入的位元长度加总,以获得另一更新地址。接着重复上述步骤,以根据另一更新地址的前一地址而从这些OTP存储器单元中选择最后一组已程序化的存储器单元。该读取单元28将自该最后一组已程序化的存储器单元中依序读取写入数据。In addition, if the written data bit length of the memory unit corresponding to the address "0x0000+Z" is greater than zero, the displacement unit 246 adds the address "0x0000+Z" and the written bit length again to obtain Get another updated address. The above steps are then repeated to select the last group of programmed memory cells from the OTP memory cells according to the previous address of another update address. The reading unit 28 sequentially reads and writes data from the last group of programmed memory cells.

根据本发明的实施例的每一单元可通过全硬件的方式实现、全软件的方式实现或包含硬件和软件的元件所实现。此外,该单元也可通过电脑程序产品而实现。该电脑程序产品可由电脑可用或电脑可读取的媒介存取,其提供程序码以通过或连接至一电脑或任何指令执行系统运行。该电脑可用或电脑可读取的媒介存取可以为任何装置,其可包容、储存、通信、传播、或传送程序以通过或连接至一电脑或任何指令执行系统运行。Each unit according to an embodiment of the present invention may be realized by all hardware, all software, or elements including hardware and software. Furthermore, the unit can also be implemented by a computer program product. The computer program product may be accessed from a computer usable or computer readable medium providing program code for execution by or connected to a computer or any instruction execution system. The computer-usable or computer-readable medium can be any device that can contain, store, communicate, propagate, or transmit programs for execution by or connected to a computer or any instruction execution system.

本发明的技术内容及技术特点已揭示如上,然而本领域技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因此,本发明的保护范围应不限于实施例所揭示,而应包括各种不背离本发明的替换及修饰,并为所附的权利要求所涵盖。The technical content and technical features of the present invention have been disclosed above, but those skilled in the art may still make various substitutions and modifications based on the teaching and disclosure of the present invention without departing from the spirit of the present invention. Therefore, the protection scope of the present invention should not be limited to the disclosed embodiments, but should include various replacements and modifications that do not depart from the present invention, and should be covered by the appended claims.

Claims (15)

1.一种可编程存储器的写入方法,该可编程存储器包含多个单次可编程存储器单元,所述多个单次可编程存储器单元对应多个地址,该写入方法包含下列步骤:1. A writing method of a programmable memory, the programmable memory comprises a plurality of one-time programmable memory cells, and the multiple one-time programmable memory cells correspond to multiple addresses, and the writing method comprises the following steps: 自一起始地址搜寻最接近的可写入可编程存储器单元;searching for the closest writable programmable memory cell from a starting address; 读取该可编程存储器的剩余位元长度;read the remaining bit length of the programmable memory; 比较该剩余位元长度与一输入数据的位元长度;以及comparing the remaining bit length with a bit length of an input data; and 当该剩余位元长度大于该输入数据的位元长度时,自该最接近的可写入可编程存储器单元紧接地进行以下数据写入步骤:When the remaining bit length is greater than the bit length of the input data, the following data writing steps are performed immediately from the closest writable programmable memory unit: 写入该输入数据的位元长度;及the bit length of the input data to be written; and 写入该输入数据。Write the input data. 2.如权利要求1所述的写入方法,其中自一起始地址搜寻最接近的可写入可编程存储器单元的步骤,包含下列步骤:2. The writing method as claimed in claim 1, wherein the step of searching for the closest writable programmable memory unit from a starting address comprises the following steps: 自该起始地址,检查对应的单次可编程存储器单元的已写入数据位元长度;以及From the start address, checking the written data bit length of the corresponding one-time programmable memory cell; and 根据检查结果,选择该最接近的可写入可编程存储器单元,以紧接地写入该输入数据。According to the checking result, the closest writable programmable memory cell is selected to write the input data next to it. 3.如权利要求2所述的写入方法,其中自该起始地址检查对应的单次可编程存储器单元的已写入数据位元长度的步骤,包含下列步骤:3. The writing method as claimed in claim 2, wherein the step of checking the written data bit length of the corresponding one-time programmable memory unit from the starting address comprises the following steps: (a1)读取该起始地址所对应的单次可编程存储器单元的已写入数据位元长度,其中该已写入数据位元长度大于零;(a1) Read the written data bit length of the one-time programmable memory unit corresponding to the start address, wherein the written data bit length is greater than zero; (a2)将该起始地址与该已写入位元长度加总,以获得一次一地址;(a2) adding up the starting address and the written bit length to obtain an address one at a time; (a3)将该次一地址作为一更新的起始地址,重复上述步骤,直到该更新的起始地址所对应的单次可编程存储器单元的已写入数据位元长度等于零;以及(a3) taking the next address as an updated initial address, repeating the steps above until the length of the written data bit of the one-time programmable memory unit corresponding to the updated initial address is equal to zero; and 指定步骤(a3)所对应的单次可编程存储器单元为最接近的可写入可编程存储器单元。The one-time programmable memory unit corresponding to step (a3) is designated as the closest writable programmable memory unit. 4.如权利要求2所述的写入方法,其中自该起始地址检查对应的单次可编程存储器单元的已写入数据位元长度的步骤,包含下列步骤:4. The writing method as claimed in claim 2, wherein the step of checking the written data bit length of the corresponding one-time programmable memory unit from the starting address comprises the following steps: 读取该起始地址所对应的单次可编程存储器单元的已写入数据位元长度,其中该数据位元长度等于零;以及reading the written data bit length of the one-time programmable memory cell corresponding to the start address, wherein the data bit length is equal to zero; and 指定该起始地址所对应的该单次可编程存储器单元为该最接近的可写入可编程存储器单元。The one-time programmable memory unit corresponding to the starting address is designated as the closest writable programmable memory unit. 5.如权利要求1所述的写入方法,其中每一单次可编程存储器单元具有一位元长度的数据位元储存区域。5. The writing method as claimed in claim 1, wherein each one-time programmable memory cell has a data bit storage area with a length of one bit. 6.一种可编程存储器的读取方法,该可编程存储器包含多个单次可编程存储器单元,对应多个地址,该可编程存储器依照如权利要求1所述的写入方法写入数据,该读取方法包含下列步骤:6. A method for reading a programmable memory, the programmable memory includes a plurality of one-time programmable memory cells corresponding to multiple addresses, and the programmable memory writes data according to the writing method as claimed in claim 1, The read method includes the following steps: 自一起始地址搜寻最后一组已程序化存储器单元;以及searching for the last set of programmed memory cells from a starting address; and 依序自该最后一组已程序化的存储器单元中读取数据。Data is sequentially read from the last group of programmed memory cells. 7.如权利要求6所述的读取方法,其中自一起始地址搜寻最后一组已程序化存储器单元的步骤,包含下列步骤:7. The read method as claimed in claim 6, wherein the step of searching the last group of programmed memory cells from a starting address comprises the following steps: 自该起始地址,检查对应的单次可编程存储器单元的已写入数据位元长度;以及From the start address, checking the written data bit length of the corresponding one-time programmable memory cell; and 根据检查结果,选择该最后一组已程序化的存储器单元,以依序读取数据。According to the checking result, the last group of programmed memory cells is selected to read data sequentially. 8.如权利要求7所述的读取方法,其中自该起始地址检查对应的单次可编程存储器单元的已写入数据位元长度的步骤,包含下列步骤:8. The reading method as claimed in claim 7, wherein the step of checking the written data bit length of the corresponding one-time programmable memory unit from the starting address comprises the following steps: 读取该起始地址所对应的单次可编程存储器单元的已写入数据位元长度,其中该已写入数据位元长度大于零;Read the written data bit length of the one-time programmable memory unit corresponding to the start address, wherein the written data bit length is greater than zero; 将该起始地址与该已写入数据位元长度加总,以获得一次一地址;summing up the start address and the written data bit length to obtain one-at-a-time addresses; 将该次一地址作为一更新的起始地址,重复上述步骤,直到该更新的起始地址所对应的单次可编程存储器单元的已写入数据位元长度等于零;以及Taking the next address as an updated starting address, repeating the above steps until the length of the written data bit of the one-time programmable memory unit corresponding to the updated starting address is equal to zero; and 若该更新的起始地址所对应的该单次可编程存储器单元的已写入数据位元长度为零,返回该更新的起始地址的一前一地址;以及If the written data bit length of the one-time programmable memory cell corresponding to the updated start address is zero, return a previous address of the updated start address; and 指定该前一地址所对应的该单次可编程存储器单元为该最后一组已程序化的存储器单元。Designate the one-time programmable memory unit corresponding to the previous address as the last group of programmed memory units. 9.如权利要求7所述的读取方法,其中每一单次可编程存储器单元具有一位元长度的数据位元储存区域。9. The read method as claimed in claim 7, wherein each one-time programmable memory cell has a data bit storage area with a length of one bit. 10.一种可编程存储器,包含:10. A programmable memory comprising: 多个单次可编程存储器单元,对应多个地址;Multiple one-time programmable memory cells, corresponding to multiple addresses; 一搜寻单元,用以在一写入动作中自所述多个单次可编程存储器单元中,搜寻最接近的可写入可编程存储器单元,或在一读取动作中自所述多个单次可编程存储器单元中,搜寻最后一组已程序化存储器单元;A search unit for searching the closest writable programmable memory cell from the plurality of one-time programmable memory cells in a write operation, or from the plurality of one-time programmable memory cells in a read operation In sub-programmable memory cells, search for the last group of programmed memory cells; 一写入单元,用于自该最接近的可写入可编程存储器单元,紧接地写入一输入数据的位元长度以及该输入数据;a writing unit for writing the bit length of an input data and the input data immediately from the nearest writable programmable memory unit; 一读取单元,用于自该最后一组已程序化的存储器单元中依序读取数据;以及a read unit for sequentially reading data from the last group of programmed memory cells; and 一检查单元,用以检查该可编程存储器的剩余位元长度。A checking unit is used for checking the remaining bit length of the programmable memory. 11.如权利要求10所述的可编程存储器,其中每一单次可编程存储器单元具有一位元长度的数据位元储存区域。11. The programmable memory of claim 10, wherein each one-time programmable memory cell has a data bit storage area with a length of one bit. 12.如权利要求10所述的可编程存储器,其中该搜寻单元还包含:12. The programmable memory as claimed in claim 10, wherein the search unit further comprises: 一地址给定单元,用以提供一起始地址或一更新地址至所述多个单次可编程存储器单元;an address giving unit for providing a start address or an update address to the plurality of one-time programmable memory units; 一检查单元,用以检查该起始地址或该更新地址所对应的单次可编程存储器单元的已写入数据位元长度;A check unit, used to check the written data bit length of the one-time programmable memory unit corresponding to the start address or the update address; 一位移单元,用以根据该检查单元的检查结果提供该更新地址至该地址给定单元。A displacement unit is used for providing the update address to the address given unit according to the checking result of the checking unit. 13.如权利要求12所述的可编程存储器,其中当该可编程存储器执行该写入动作时,当该起始地址或该更新地址所对应的单次可编程存储器单元的已写入数据位元长度等于零时,则该起始地址或该更新地址所对应的该单次可编程存储器单元为该最接近的可写入可编程存储器单元。13. The programmable memory according to claim 12, wherein when the programmable memory performs the write action, when the written data bit of the one-time programmable memory unit corresponding to the start address or the update address When the element length is equal to zero, the one-time programmable memory unit corresponding to the start address or the update address is the closest writable programmable memory unit. 14.如权利要求12所述的可编程存储器,其中当该可编程存储器执行该写入动作时,当该起始地址所对应的单次可编程存储器单元的已写入数据位元长度大于零时,则该位移单元将该起始地址与该位元长度加总,以获得该更新地址。14. The programmable memory according to claim 12, wherein when the programmable memory performs the write action, when the length of the written data bit of the one-time programmable memory unit corresponding to the start address is greater than zero , then the displacement unit adds up the start address and the bit length to obtain the update address. 15.如权利要求12所述的可编程存储器,其中当该可编程存储器执行该读取动作时,当该起始地址或该更新地址所对应的单次可编程存储器单元的已写入数据位元长度等于零时,该位移单元将提供该起始地址或该更新地址之前一地址至该地址给定单元,且该前一地址所对应的单次可编程存储器单元为该最后一组已程序化的存储器单元。15. The programmable memory according to claim 12, wherein when the programmable memory executes the read action, when the written data bit of the one-time programmable memory unit corresponding to the start address or the update address When the element length is equal to zero, the displacement unit will provide an address before the start address or the update address to the address given unit, and the one-time programmable memory unit corresponding to the previous address is the last group programmed memory unit.
CN201110042004.2A 2011-02-22 2011-02-22 Programmable memory and its writing and reading method Active CN102646452B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110042004.2A CN102646452B (en) 2011-02-22 2011-02-22 Programmable memory and its writing and reading method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110042004.2A CN102646452B (en) 2011-02-22 2011-02-22 Programmable memory and its writing and reading method

Publications (2)

Publication Number Publication Date
CN102646452A CN102646452A (en) 2012-08-22
CN102646452B true CN102646452B (en) 2016-01-20

Family

ID=46659229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110042004.2A Active CN102646452B (en) 2011-02-22 2011-02-22 Programmable memory and its writing and reading method

Country Status (1)

Country Link
CN (1) CN102646452B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114664353A (en) * 2021-12-31 2022-06-24 上海概伦电子股份有限公司 Low-cost realization structure of nonvolatile storage medium, control method, chip and electronic equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1298154A (en) * 1999-11-29 2001-06-06 三菱电机株式会社 Memory reference system for stored data in selective reference to storage
CN101923513A (en) * 2010-08-11 2010-12-22 深圳市同洲电子股份有限公司 Data writing and reading method of memory, system and FLASH memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015942A (en) * 2001-07-03 2003-01-17 Casio Comput Co Ltd Method of writing data to memory, data writing processing program, and data writing device
JP5328020B2 (en) * 2009-01-15 2013-10-30 セイコーインスツル株式会社 Memory device and memory access method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1298154A (en) * 1999-11-29 2001-06-06 三菱电机株式会社 Memory reference system for stored data in selective reference to storage
CN101923513A (en) * 2010-08-11 2010-12-22 深圳市同洲电子股份有限公司 Data writing and reading method of memory, system and FLASH memory

Also Published As

Publication number Publication date
CN102646452A (en) 2012-08-22

Similar Documents

Publication Publication Date Title
US8601331B2 (en) Defective memory block remapping method and system, and memory device and processor-based system using same
US8365026B2 (en) Methods for performing fail test, block management, erasing and programming in a nonvolatile memory device
US7336537B2 (en) Handling defective memory blocks of NAND memory devices
JP2006048777A (en) Nand flash memory and data writing method
TWI435217B (en) Programable memory device and memory access method
CN102403039A (en) Semiconductor memory device and method of operating same
US20160189801A1 (en) Semiconductor storage device
US10229025B2 (en) Non-volatile memory repair circuit
JP2008108326A (en) Storage device and its self-test method
JP2006228330A (en) Semiconductor memory device
US9230692B2 (en) Apparatuses and methods for mapping memory addresses to redundant memory
US9093178B1 (en) Integrated circuit with programmable storage cell array and boot-up operation method thereof
CN101727987A (en) Data programming and reading method and one-time programmable memory applying same
US9196371B2 (en) Nonvolatile semiconductor memory device and read method thereof
CN102646452B (en) Programmable memory and its writing and reading method
US20140281678A1 (en) Memory controller and memory system
CN110010188B (en) Memory device and method of operating the same
US9240243B2 (en) Managing of the erasing of operative pages of a flash memory device through service pages
KR100996093B1 (en) Nonvolatile Memory Device and Operation Method
TWI779610B (en) Method for detecting flash memory module and associated system on chip
US11837311B2 (en) Integrated circuit, memory and operation method of memory
CN107633863B (en) Memory device and method of programming the same
CN106910530B (en) Integrated circuit and memory device
JP2013089261A (en) Semiconductor memory device and method of testing the same
CN117891471A (en) Method and circuit for programming efuse repeatedly

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