CN102646452B - Programmable memory and its writing and reading method - Google Patents
Programmable memory and its writing and reading method Download PDFInfo
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 224
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000006073 displacement reaction Methods 0.000 claims description 7
- 230000008901 benefit Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 239000002184 metal Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 2
- 229920005591 polysilicon Polymers 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
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
技术领域 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)
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)
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)
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)
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 |
-
2011
- 2011-02-22 CN CN201110042004.2A patent/CN102646452B/en active Active
Patent Citations (2)
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 |