TW202111538A - Memory device, writing method, and reading method - Google Patents
Memory device, writing method, and reading method Download PDFInfo
- Publication number
- TW202111538A TW202111538A TW108132365A TW108132365A TW202111538A TW 202111538 A TW202111538 A TW 202111538A TW 108132365 A TW108132365 A TW 108132365A TW 108132365 A TW108132365 A TW 108132365A TW 202111538 A TW202111538 A TW 202111538A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory
- memory bank
- hamming weight
- sub
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital 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/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/419—Read-write [R-W] circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/47—Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Radar Systems Or Details Thereof (AREA)
- Communication Control (AREA)
Abstract
Description
本發明係有關於一種記憶體裝置及其寫入方法與讀取方法,特別係有關於一種具有資料安全之記憶體裝置及其寫入方法與讀取方法。The present invention relates to a memory device and its writing method and reading method, and more particularly to a memory device with data security and its writing method and reading method.
由於靜態隨機存取記憶體(Static Random Access Memory,SRAM)執行寫入或讀取邏輯0以及邏輯1的功耗可能不相同,使得駭客在知道靜態隨機存取記憶體讀寫邏輯0以及邏輯1之功耗的情況下,能夠透過功耗的變化以及排列組合而得知真實讀寫的資料內容。因此對於機密資料的處理,我們需要一個能夠更有效率的方式來維護資料的安全性。Since the power consumption of static random access memory (SRAM) for writing or reading logic 0 and logic 1 may be different, hackers know that static random access memory reads and writes logic 0 and logic 1 In the case of power consumption of 1, the actual read and write data content can be known through the change of power consumption and permutation and combination. Therefore, for the handling of confidential information, we need a more efficient way to maintain the security of the information.
有鑑於此,本發明提出一種記憶體裝置,包括一記憶體陣列以及一記憶體控制器。上述記憶體陣列包括一第一記憶體庫、一第二記憶體庫以及一第三記憶體庫。上述第一記憶體庫包括一第一子記憶體庫。上述第二記憶體庫包括一第二子記憶體庫。上述記憶體控制器根據一主機發送之一寫入指令,同時將上述主機發送之一第一資料寫入至上述第一記憶體庫以及將上述第二資料寫入至上述第二子記憶體庫,且將上述第一資料之一第一漢明重量寫入上述第三資料庫,其中上述第二資料係為上述第一資料之反相。In view of this, the present invention provides a memory device including a memory array and a memory controller. The memory array includes a first memory bank, a second memory bank, and a third memory bank. The above-mentioned first memory bank includes a first sub-memory bank. The above-mentioned second memory bank includes a second sub-memory bank. The memory controller sends a write command from a host, and simultaneously writes a first data sent by the host to the first memory bank and writes the second data to the second sub-memory bank at the same time , And write the first Hamming weight, one of the first data, into the third database, wherein the second data is the inverse of the first data.
根據本發明之一實施例,上述記憶體陣列更包括一第四記憶體庫。上述第四記憶體庫用以儲存一第二漢明重量,其中上述第二漢明重量係為上述第一漢明重量之反相,其中上述記憶體控制器同時將上述第一漢明重量寫入上述第三記憶體庫且將上述第二漢明重量寫入上述第四記憶體庫。According to an embodiment of the present invention, the above-mentioned memory array further includes a fourth memory bank. The fourth memory bank is used to store a second Hamming weight, wherein the second Hamming weight is the inverse of the first Hamming weight, and the memory controller writes the first Hamming weight at the same time Enter the third memory bank and write the second Hamming weight into the fourth memory bank.
根據本發明之一實施例,上述記憶體控制器更包括一漢明重量編碼器。上述漢明重量編碼器用以計數上述第一資料具有一第一位元數之一第一邏輯,而根據上述第一位元數產生上述第一漢明重量,並且產生上述第一漢明重量之反相之上述第二漢明重量。According to an embodiment of the present invention, the aforementioned memory controller further includes a Hamming weight encoder. The Hamming weight encoder is used to count that the first data has a first bit number and a first logic, and generates the first Hamming weight according to the first bit number, and generates the first hamming weight Reverse the above second Hamming weight.
根據本發明之一實施例,當上述記憶體控制器接收到上述主機發送之一讀取指令以讀取上述第一記憶體庫之上述第一資料時,上述記憶體控制器同時讀取上述第三記憶體庫之上述第一漢明重量以及上述第四記憶體庫之上述第二漢明重量,其中上述記憶體控制器根據上述第一漢明重量產生一第一假資料,將上述第一假資料寫入上述第一子記憶體庫且將一第二假資料寫入上述第二子記憶體庫,其中上述第二假資料係為上述第一假資料之反相,其中上述記憶體控制器同時讀取上述第一資料以及上述第二假資料,並將上述第一資料傳送至上述主機。According to an embodiment of the present invention, when the memory controller receives a read command sent by the host to read the first data in the first memory bank, the memory controller reads the first data at the same time The first Hamming weight of the three memory banks and the second Hamming weight of the fourth memory bank, wherein the memory controller generates a first dummy data according to the first Hamming weight, and the first Dummy data is written into the first sub-memory bank and a second dummy data is written into the second sub-memory bank, wherein the second dummy data is the inverse of the first dummy data, and the memory controls The device reads the first data and the second fake data at the same time, and transmits the first data to the host.
根據本發明之一實施例,上述記憶體控制器更包括一漢明重量解碼器。上述漢明重量解碼器產生具有上述第一漢明重量之上述第一假資料,並且產生上述第一假資料之反相之上述第二假資料,其中上述第一資料以及上述第一假資料皆具有一第一位元數之一第一邏輯以及一第二位元數之一第二邏輯。According to an embodiment of the present invention, the aforementioned memory controller further includes a Hamming weight decoder. The Hamming weight decoder generates the first fake data having the first Hamming weight, and generates the second fake data that is the inverse of the first fake data, wherein the first data and the first fake data are both There is a first logic with a first bit number and a second logic with a second bit number.
本發明更提出一種寫入方法,適用於一記憶體陣列,其中上述記憶體陣列包括一第一記憶體庫以及一第二記憶體庫,其中上述一第一記憶體庫包括一第一子記憶體庫,上述第二記憶體庫包括一第二子記憶體庫。上述寫入方法包括:接收一主機發送之一寫入指令以及一第一資料;將上述第一資料寫入至上述第一記憶體庫,且同時將一第二資料寫入至上述第二子記憶體庫,其中上述第二資料係為上述第一資料之反相;以及將上述第一資料之一第一漢明重量寫入至上述記憶體陣列之一第三記憶體庫。The present invention further provides a writing method suitable for a memory array, wherein the memory array includes a first memory bank and a second memory bank, wherein the first memory bank includes a first sub-memory The second memory bank includes a second sub-memory bank. The writing method includes: receiving a writing command and a first data sent by a host; writing the first data to the first memory bank, and simultaneously writing a second data to the second sub A memory bank, wherein the second data is the inverse of the first data; and a first Hamming weight of the first data is written into a third memory bank of the memory array.
根據本發明之一實施例,上述寫入方法更包括:產生一第二漢明重量,其中上述第二漢明重量係為上述第一漢明重量之反相;以及當執行上述將上述第一資料之上述第一漢明重量寫入至上述記憶體陣列之上述第三記憶體庫之步驟時,同時將上述第二漢明重量寫入至上述記憶體陣列之上述第四記憶體庫。According to an embodiment of the present invention, the writing method further includes: generating a second Hamming weight, wherein the second Hamming weight is the inverse of the first Hamming weight; During the step of writing the first Hamming weight of the data to the third memory bank of the memory array, the second Hamming weight is written to the fourth memory bank of the memory array at the same time.
本發明更提出一種讀取方法,適用於一記憶體陣列,其中上述記憶體陣列包括儲存一第一資料之一第一記憶體庫、一第二記憶體庫以及儲存上述第一資料之一第一漢明重量之一第三記憶體庫,其中上述一第一記憶體庫包括一第一子記憶體庫,上述第二記憶體庫包括一第二子記憶體庫。上述讀取方法包括:接收到上述主機發送之一讀取指令,用以讀取上述第一記憶體庫之上述第一資料;讀取上述第一漢明重量,其中上述第一漢明重量代表上述第一資料具有一第一位元數之一第一邏輯以及一第二位元數之一第二邏輯;根據上述第一漢明重量產生一第一假資料,其中上述第一假資料具有上述第一位元數之一第二邏輯以及上述第二位元數之一第一邏輯;將上述第一假資料寫入上述第二子記憶體庫;以及同時讀取上述第一資料以及上述第一假資料。The present invention further provides a reading method suitable for a memory array, wherein the memory array includes a first memory bank storing a first data, a second memory bank, and a second memory bank storing the first data. A third memory bank with a Hamming weight, wherein the first memory bank includes a first sub-memory bank, and the second memory bank includes a second sub-memory bank. The reading method includes: receiving a reading command sent by the host to read the first data in the first memory library; reading the first Hamming weight, wherein the first Hamming weight represents The first data has a first logic with a first bit number and a second logic with a second bit number; a first fake data is generated according to the first Hamming weight, wherein the first fake data has One of the second logic of the first bit number and the first logic of the second bit number; writing the first dummy data into the second sub-memory library; and simultaneously reading the first data and the The first fake information.
根據本發明之一實施例,上述讀取方法更包括:當讀取上述第一漢明重量時,同時讀取上述記憶體陣列之一第四記憶體庫之一第二漢明重量,其中上述第二漢明重量係為上述第一漢明重量之反相;以及在上述同時讀取上述第一資料以及上述第一假資料之步驟之後,僅將上述第一資料傳送至上述主機。According to an embodiment of the present invention, the above-mentioned reading method further includes: when reading the above-mentioned first Hamming weight, simultaneously reading one of the second Hamming weights of one of the fourth memory banks of the memory array, and The second Hamming weight is the inverse of the first Hamming weight; and after the step of simultaneously reading the first data and the first fake data, only the first data is sent to the host.
根據本發明之一實施例,上述根據上述第一漢明重量產生上述第一假資料之步驟更包括:根據上述第一漢明重量產生一第二假資料,其中上述第二假資料具有上述第一位元數之上述第一邏輯以及上述第二位元數之上述第二邏輯;以及將上述第二假資料反相,而產生上述第一假資料。According to an embodiment of the present invention, the step of generating the first fake data based on the first Hamming weight further includes: generating a second fake data based on the first Hamming weight, wherein the second fake data has the first fake data. The first logic of one bit and the second logic of the second bit; and inverting the second fake data to generate the first fake data.
以下說明為本發明的實施例。其目的是要舉例說明本發明一般性的原則,不應視為本發明之限制,本發明之範圍當以申請專利範圍所界定者為準。The following description is an embodiment of the present invention. Its purpose is to exemplify the general principles of the present invention and should not be regarded as a limitation of the present invention. The scope of the present invention shall be subject to the scope of the patent application.
值得注意的是,以下所揭露的內容可提供多個用以實踐本發明之不同特點的實施例或範例。以下所述之特殊的元件範例與安排僅用以簡單扼要地闡述本發明之精神,並非用以限定本發明之範圍。此外,以下說明書可能在多個範例中重複使用相同的元件符號或文字。然而,重複使用的目的僅為了提供簡化並清楚的說明,並非用以限定多個以下所討論之實施例以及/或配置之間的關係。此外,以下說明書所述之一個特徵連接至、耦接至以及/或形成於另一特徵之上等的描述,實際可包含多個不同的實施例,包括該等特徵直接接觸,或者包含其它額外的特徵形成於該等特徵之間等等,使得該等特徵並非直接接觸。It should be noted that the content disclosed below can provide multiple embodiments or examples for practicing the different features of the present invention. The specific component examples and arrangements described below are only used to briefly illustrate the spirit of the present invention, and are not used to limit the scope of the present invention. In addition, the following description may reuse the same component symbols or words in multiple examples. However, the purpose of repeated use is only to provide a simplified and clear description, and is not used to limit the relationship between the multiple embodiments and/or configurations discussed below. In addition, the description of one feature connected to, coupled to, and/or formed on another feature described in the following specification may actually include a plurality of different embodiments, including direct contact of these features, or other additional features. The features of are formed between these features, etc., so that these features are not in direct contact.
第1圖係顯示根據本發明之一實施例所述之記憶體裝置之方塊圖。如第1圖所示,記憶體裝置100包括記憶體控制器110以及記憶體陣列120。記憶體控制器110根據主機10所發出之操作指令CMD,而對記憶體陣列120進行寫入操作或讀取操作。記憶體陣列120包括第一記憶體庫121以及第二記憶體庫122。根據本發明之一實施例,記憶體陣列120係為靜態隨機存取記憶體。根據本發明之許多實施例,主機10係為中央處理器或其他資料存取裝置。根據本發明之其他實施例,一微控制器係包括主機10以及記憶體裝置100,其中主機10係為中央處理器。FIG. 1 shows a block diagram of a memory device according to an embodiment of the invention. As shown in FIG. 1, the
根據本發明之一實施例,當操作指令CMD係為寫入指令時,記憶體控制器110將主機10所發送之資料DT寫入至第一記憶體庫121,並且同時將反相資料DTB寫入至第二記憶體庫122,其中反向資料DTB係為資料DT之反相。根據本發明之另一實施例,當操作指令CMD係為讀取指令時,記憶體控制器110同時讀取第一記憶體庫121之資料以及第二記憶體庫122之反相資料DTB,而僅將資料DT傳送給主機10。According to an embodiment of the present invention, when the operation command CMD is a write command, the
根據本發明之一實施例,資料DT係為具有機密性之資料。由於記憶體控制器110執行寫入操作及/或寫入操作時,寫入及/或讀取之邏輯0的位元數以及邏輯1的位元數皆相同,使得每次進行寫入操作及/或讀取操作時的功耗皆相同,進而提升了資料安全性。然而,為了提升資料安全性,記憶體陣列120中一半的空間需用以儲存反相資料,使得記憶體陣列120之利用率因而減半。根據本發明之一實施例,記憶體裝置100之記憶體空間利用率係為50%。為了提升記憶體陣列的儲存效率,我們需要其他的方法來達成資料安全性。According to an embodiment of the present invention, the data DT is confidential data. Since the
第2圖係顯示根據本發明之另一實施例所述之寫入裝置之方塊圖。如第2圖所示,記憶體裝置200包括記憶體控制器210以及記憶體陣列220,其中記憶體控制器210根據主機10所發出之寫入指令CMDW,而對記憶體陣列220進行寫入操作。根據本發明之一實施例,記憶體陣列220係為靜態隨機存取記憶體。根據本發明之許多實施例,主機10係為中央處理器或其他資料存取裝置。根據本發明之其他實施例,一微控制器係包括主機10以及記憶體裝置200,其中主機10係為中央處理器。FIG. 2 shows a block diagram of a writing device according to another embodiment of the present invention. As shown in FIG. 2, the
如第2圖所示,記憶體陣列220包括第一記憶體庫221、第二記憶體庫222、第三記憶體庫223以及第四記憶體庫224,其中第一記憶體庫221包括第一子記憶體庫221A,第二記憶體庫222包括第二子記憶體庫222A。As shown in Figure 2, the
如第2圖所示之實施例,當記憶體控制器210接收到主機10發送之寫入指令CMDW時,記憶體控制器210根據寫入指令CMDW,將主機10發送之寫入資料DW寫入至第一記憶體庫221或第二記憶體庫222之一者,並且同時將反相寫入資料DWB寫入至第二子記憶體庫222A以及第一子記憶體庫221A之一者,其中反向寫入資料DWB係為寫入資料DW之反相資料。As shown in the embodiment shown in Figure 2, when the
換句話說,當記憶體控制器210將寫入資料DW寫入第一記憶體庫221時,記憶體控制器210同時將反相寫入資料DWB寫入至第二子記憶體庫222A;當記憶體控制器210將寫入資料DW寫入第二記憶體庫222時,記憶體控制器210同時將反相寫入資料DW寫入至第一子記憶體庫221A。由於記憶體控制器210同時將寫入資料DW以及反相寫入資料DWB寫入至記憶體陣列220,使得寫入之邏輯1的位元數以及寫入之邏輯0的位元數相同,因而提升資料的安全性。In other words, when the
根據本發明之許多實施例,當記憶體控制器210將另一寫入資料(第2圖未顯示)寫入第一記憶體庫221/第二記憶體庫222時,記憶體控制器210同時將另一寫入資料之反相寫入至第二子記憶體庫222A/第一子記憶體庫221A。因此,與第1圖之記憶體裝置100相比,第二子記憶體庫222A/第一子記憶體庫221A之空間可縮小至反相寫入資料之大小第2圖之記憶體裝置200則可增加可寫入之記憶體空間,因而大幅提升記憶體陣列的空間利用率。According to many embodiments of the present invention, when the
如第2圖所示,記憶體控制器210更包括漢明重量編碼器211。根據本發明之一實施例,當記憶體控制器210接收到寫入資料DW時,漢明重量編碼器211計數寫入資料DW中邏輯1之位元數而產生漢明重量(hamming weight)HW。根據本發明之另一實施例,當記憶體控制器210接收到寫入資料DW時,漢明重量編碼器211也可用以計數寫入資料DW中邏輯0之位元數而產生漢明重量(hamming weight)HW。As shown in FIG. 2, the
當漢明重量編碼器211產生漢明重量HW後,漢明重量編碼器2111更產生漢明重量HW之反相的反相漢明重量HWB。接著,記憶體控制器210同時將漢明重量HW以及反相漢明重量HWB寫入至第三記憶體庫223以及第四記憶體庫224,用以平衡寫入之邏輯1之位元數以及邏輯0之位元數,其中反向漢明重量HWB係為漢明重量HW之反相。After the
根據本發明之一實施例,當記憶體控制器210將寫入資料DW寫入第一記憶體庫221且同時將反相寫入資料DWB寫入至第二子記憶體庫222A時,記憶體控制器210更將漢明重量HW寫入至第三記憶體庫223,且同時將反相漢明重量HWB寫入至第四記憶體庫224。According to an embodiment of the present invention, when the
根據本發明之另一實施例,當記憶體控制器210將寫入資料寫入第二記憶體庫222且同時將反相寫入資料DWB寫入至第一子記憶體庫221A時,記憶體控制器210同樣將漢明重量HW寫入至第三記憶體庫223,且同時將反相漢明重量HWB寫入至第四記憶體庫224。According to another embodiment of the present invention, when the
根據本發明之一實施例,第1圖之第一記憶體庫121以及第二記憶體庫122之記憶體空間係分別為K*N位元;第2圖之第一記憶體庫221以及第二記憶體庫222之記憶體空間分別為K*N位元,第一子記憶體庫221A以及第二子記憶體庫222A之記憶體空間分別為1*N位元,第三記憶體庫223以及第四記憶體庫224之記憶體空間分別為位元。由於第1圖之記憶體裝置100非用以儲存寫入資料的記憶體空間係為K*N位元,第2圖之記憶體裝置200非用以儲存寫入資料的記憶體空間(即,第一子記憶體庫221A、第二子記憶體庫222A、第三記憶體庫223以及第四記憶體庫224)係為位元。當N以及K皆遠大於1時,因此第2圖之記憶體裝置200之記憶體空間的利用率係趨近於100%,遠大於第1圖之記憶體裝置100之50%的記憶體空間利用率。According to an embodiment of the present invention, the memory spaces of the
第3圖係顯示根據本發明之一實施例所述之寫入方法之流程圖。以下針對第3圖所示之寫入方法300之流程圖的敘述,將搭配第2圖之方塊圖,以利詳細說明。FIG. 3 shows a flowchart of the writing method according to an embodiment of the invention. The following description of the flowchart of the
首先,利用記憶體控制器210接收主機10發送之寫入指令CMDW以及第一資料(即,寫入資料DW)(步驟S31)。接著,根據本發明之一實施例,利用記憶體控制器210,將第一資料(即,寫入資料DW)寫入至第一記憶體庫221(步驟S32),且同時將第二資料(即,反相寫入資料DWB)寫入至第二子記憶體庫222A(步驟S33)。根據本發明之另一實施例,利用記憶體控制器210,將第一資料(即,寫入資料DW)寫入至第二記憶體庫222(步驟S32),且同時將第二資料(即,反相寫入資料DWB)寫入至第一子記憶體庫221A(步驟S33)。First, the
根據本發明之一實施例,同時寫入第一資料(即,寫入資料DW)以及第二資料(即,反相寫入資料DWB)係用以平衡寫入之邏輯1以及邏輯0之位元數。According to an embodiment of the present invention, simultaneously writing the first data (ie, the write data DW) and the second data (ie, the inverted write data DWB) is used to balance the written logic 1 and logic 0 bits Yuan number.
隨後,利用記憶體控制器210之漢明重量編碼器211,計數第一資料(即,寫入資料DW)中為第一邏輯之位元數(步驟S34),並且利用記憶體控制器210,根據第一邏輯之位元數,產生第一漢明重量(即,漢明重量HW)以及第二漢明重量(即,反相漢明重量HWB)(步驟S35)。根據本發明之一實施例,記憶體控制器210係根據第一邏輯之位元數產生第一漢明重量(即,漢明重量HW),再將第一漢明重量反相而產生第二漢明重量(即,反相漢明重量HWB)。根據本發明之一實施例,第一邏輯可為邏輯1。根據本發明之另一實施例,第一邏輯可為邏輯0。Subsequently, the
接著,利用記憶體控制器210,將第一漢明重量(即,漢明重量HW)寫入至記憶體陣列220之第三記憶體庫223(步驟S36),並且同時將第二漢明重量(即,反相漢明重量HWB)寫入至記憶體陣列220之第四記憶體庫224(步驟S37),其中第二漢明重量係為第一漢明重量之反相。Next, the
第4圖係顯示根據本發明之另一實施例所述之寫入方法之流程圖。如第4圖所示,步驟S31至步驟S37皆與第3圖之步驟S31至步驟S37相同,其中第4圖之步驟S34(即,計數第一資料(即,寫入資料DW)中為第一邏輯之位元數)以及步驟S35(即,利用記憶體控制器210,根據第一邏輯之位元數,產生第一漢明重量(即,漢明重量HW))係與步驟S32以及步驟S33並列執行,以利增進寫入之速度。FIG. 4 shows a flowchart of a writing method according to another embodiment of the present invention. As shown in Fig. 4, steps S31 to S37 are the same as steps S31 to S37 in Fig. 3, in which step S34 in Fig. 4 (ie, counting the first data (ie, writing data DW) is the first The number of bits in a logic) and step S35 (ie, using the
第5圖係顯示根據本發明之另一實施例所述之記憶體裝置之方塊圖。如第5圖所示,記憶體裝置500包括記憶體控制器510以及記憶體陣列520,其中記憶體控制器510根據主機10所發出之讀取指令CMDR,而對記憶體陣列520進行讀取操作。記憶體陣列520係對應至第2圖之記憶體陣列220,包括第一記憶體庫521、第二記憶體庫522、第三記憶體庫523以及第四記憶體庫524,且第一記憶體庫521包括第一子記憶體庫521A,第二記憶體庫522包括第二子記憶體庫522A。FIG. 5 shows a block diagram of a memory device according to another embodiment of the invention. As shown in FIG. 5, the
如第5圖所示之實施例,當記憶體控制器510係根據讀取指令CMDR而讀取儲存於第一記憶體庫521之讀取資料DR時,記憶體控制器510讀取儲存於第三記憶體庫523且對應至讀取資料DR之漢明重量HW,並同時讀取儲存於第四記憶體庫524之反相漢明重量HWB,其中反向漢明重量HWB係為漢明重量HW之反相。As in the embodiment shown in FIG. 5, when the
當記憶體控制器510產生具有漢明重量HW之假資料FD後,記憶體控制器510將假資料FD寫入至第一子記憶體庫521A,且同時將假資料FD之反相的反向假資料FDB寫入至第二子記憶體庫522A。接著,記憶體控制器510同時讀取第一記憶體庫521之讀取資料DR以及第二子記憶體庫522A之反相假資料FDB。After the
根據本發明之另一實施例,當記憶體控制器510係根據讀取指令CMDR而讀取儲存於第二記憶體庫522之讀取資料DR(第5圖並未顯示)時,記憶體控制器510讀取儲存於第三記憶體庫523且對應至讀取資料DR之漢明重量HW,並且同時讀取儲存於第四記憶體庫524之反相漢明重量HWB。當記憶體控制器510產生具有漢明重量HW之假資料FD後,記憶體控制器510將假資料FD寫入至第二子記憶體庫522A,且同時將假資料FD之反相的反向假資料FDB寫入至第一子記憶體庫521A。接著,記憶體控制器510同時讀取第二記憶體庫522之讀取資料DR以及第一子記憶體庫521A之反相假資料FDB。According to another embodiment of the present invention, when the
根據本發明之一實施例,由於漢明重量HW以及反相漢明重量HWB係互為反相,因此同時讀取漢明重量HW以及反相漢明重量HWB有助於平衡讀取之邏輯1之位元數以及讀取之邏輯0之位元數,以利增進資料安全性。根據本發明之一實施例,由於讀取資料DR以及假資料FD具有相同的漢明重量HW,記憶體控制器510同時對讀取資料DB以及反相假資料FDB進行讀取用以平衡讀取之邏輯1之位元數以及邏輯0之位元數,以利增進資料安全性。According to an embodiment of the present invention, since the Hamming weight HW and the inverted Hamming weight HWB are inverse to each other, reading the Hamming weight HW and the inverted Hamming weight HWB at the same time helps to balance the logic 1 of the reading. The number of bits and the number of bits of logic 0 read to facilitate data security. According to an embodiment of the present invention, since the read data DR and the fake data FD have the same Hamming weight HW, the
根據本發明之許多實施例,當記憶體控制器510自第一記憶體庫521/第二記憶體庫522讀取另一讀取資料(第5圖未顯示)時,記憶體控制器510對應另一讀取資料產生另一反相假資料寫入至第二子記憶體庫522A/第一子記憶體庫521A。因此,第二子記憶體庫522A/第一子記憶體庫521A之空間僅需反相假資料之大小即可。與第1圖之記憶體裝置100相比,第5圖之記憶體裝置500可增加可讀取之儲存空間,因而大幅提升記憶體陣列的空間利用率。According to many embodiments of the present invention, when the
根據本發明之一實施例,記憶體控制器510包括漢明重量解碼器511,其中漢明重量解碼器511用以根據漢明重量HW,產生具有漢明重量HW之假資料FD,並將假資料FD反相而產生反相假資料FDB。根據本發明之一些實施例,由於讀取資料DR以及假資料FD皆具有漢明重量HW,代表讀取資料DR以及假資料FD具有相同位元數之邏輯1或相同位元數之邏輯0。根據本發明之一些實施例,儘管讀取資料DR以及假資料FD皆具有漢明重量HW,讀取資料DR可與假資料FD完全相同或不同。According to an embodiment of the present invention, the
根據本發明之一實施例,第1圖之第一記憶體庫121以及第二記憶體庫122之記憶體空間係分別為K*N位元;第5圖之第一記憶體庫521以及第二記憶體庫522之記憶體空間分別為K*N位元,第一子記憶體庫521A以及第二子記憶體庫522A之記憶體空間分別為1*N位元,第三記憶體庫523以及第四記憶體庫524之記憶體空間分別為位元。由於第1圖之記憶體裝置100非用以儲存讀取資料的記憶體空間係為K*N位元,第5圖之記憶體裝置500非用以儲存讀取資料的記憶體空間(即,第一子記憶體庫521A、第二子記憶體庫522A、第三記憶體庫523以及第四記憶體庫524)係為位元。當N以及K皆遠大於1時,因此第5圖之記憶體裝置500之記憶體空間的利用率係趨近於100%,大於第1圖之記憶體裝置100之50%的記憶體空間利用率。According to an embodiment of the present invention, the memory spaces of the
第6圖係顯示根據本發明之一實施例所述之讀取方法之流程圖。以下針對第6圖所示之寫入方法600之流程圖的敘述,將搭配第5圖之方塊圖,以利詳細說明。Fig. 6 shows a flowchart of the reading method according to an embodiment of the present invention. The following description of the flowchart of the
首先,利用記憶體控制器510接收主機10發送之讀取指令CMDR(步驟S61),用以讀取記憶體陣列520之第一記憶體庫521之第一資料(即,讀取資料DR)。接著,利用記憶體控制器510,讀取第三記憶體庫523之第一漢明重量(即,漢明重量HW)(步驟S62),其中第一漢明重量(即,漢明重量HW)代表第一資料(即,讀取資料DR)具有第一位元數之第一邏輯以及第二位元數之第二邏輯。根據本發明之一實施例,第一邏輯係為邏輯1,第二邏輯係為邏輯0。根據本發明之另一實施例,第一邏輯係為邏輯0,第二邏輯係為邏輯1。First, the
當讀取第一漢明重量(步驟S62)時,同時利用記憶體控制器,510讀取記憶體陣列520之第四記憶體庫524之第二漢明重量(即,反相漢明重量HWB)(步驟S63)。根據本發明之一實施例,同時讀取第一漢明重量(即,漢明重量HW)以及第二漢明重量(即,反相漢明重量HWB),使得讀取之邏輯1的位元數以及邏輯0的位元數相等,進而增加資料安全性。When the first Hamming weight is read (step S62), the
在步驟S62後,利用漢明重量解碼器511,根據第一漢明重量(即,漢明重量HW)產生第一假資料(即,反相假資料FDB)以及第二假資料(即,假資料FD)(步驟S64),其中第一假資料(即,反相假資料FDB)具有第二位元數之第一邏輯以及第一位元數之第二邏輯,第二假資料(即,假資料FD)具有第一位元數之第一邏輯以及第二位元數之第二邏輯。換句話說,第一資料(即,讀取資料DR)以及第二假資料(即,假資料FD)具有相同位元數之邏輯1及/或相同位元數之邏輯0,而第一假資料係與第二假資料互為反相。After step S62, the
根據本發明之一實施例,漢明重量解碼器511係產生具有第一漢明重量(即,漢明重量HW)之第二假資料(即,假資料FD),並將第二假資料(即,假資料FD)反相而產生第一假資料(即,反相假資料FDB)。According to an embodiment of the present invention, the
接著,利用記憶體控制器510將第一假資料(即,反相假資料FDB)寫入第二子記憶體庫522A(步驟S65),並且同時將第二假資料(即,假資料FD)寫入第一子記憶體庫521A(步驟S66)。根據本發明之一實施例,由於第一假資料(即,反相假資料FDB)具有第二位元數之第一邏輯以及第一位元數之第二邏輯,第二假資料(即,假資料FD)具有第一位元數之第一邏輯以及第二位元數之第二邏輯,同時執行步驟S65以及步驟S66代表同時寫入第一位元數加上第二位元數之第一邏輯以及第二邏輯,進而增進資料的安全性。Next, the
隨後,利用記憶體控制器510同時讀取第一資料(即,讀取資料DR)以及第一假資料(即,反相假資料FDB)(步驟S67),以平衡讀取之邏輯1以及邏輯0之位元數。最後,利用記憶體控制器510,僅將第一資料(即,讀取資料DR)傳送至主機10(步驟S68),已完成讀取方法600。Subsequently, the
根據本發明之另一實施例,當步驟S61中接收之讀取指令CMDW係用以讀取記憶體陣列520之第二記憶體庫522之第一資料(即,讀取資料DR)時,於步驟S62同樣讀取第三記憶體庫5232之第一漢明重量(即,漢明重量HW),以及讀取記憶體陣列520之第四記憶體庫524之第二漢明重量(即,反相漢明重量HWB)(步驟S63)。接著,在步驟S65中,利用記憶體控制器510將第一假資料(即,反相假資料FDB)寫入第一子記憶體庫521A,在步驟S66中同時將第二假資料(即,假資料FD)寫入第二子記憶體庫522A。According to another embodiment of the present invention, when the read command CMDW received in step S61 is used to read the first data of the
雖然本揭露的實施例及其優點已揭露如上,但應該瞭解的是,任何所屬技術領域中具有通常知識者,在不脫離本揭露之精神和範圍內,當可作更動、替代與潤飾。此外,本揭露之保護範圍並未侷限於說明書內所述特定實施例中的製程、機器、製造、物質組成、裝置、方法及步驟,任何所屬技術領域中具有通常知識者可從本揭露一些實施例之揭示內容中理解現行或未來所發展出的製程、機器、製造、物質組成、裝置、方法及步驟,只要可以在此處所述實施例中實施大抵相同功能或獲得大抵相同結果皆可根據本揭露一些實施例使用。因此,本揭露之保護範圍包括上述製程、機器、製造、物質組成、裝置、方法及步驟。另外,每一申請專利範圍構成個別的實施例,且本揭露之保護範圍也包括各個申請專利範圍及實施例的組合。Although the embodiments of the present disclosure and their advantages have been disclosed as above, it should be understood that anyone with ordinary knowledge in the relevant technical field can make changes, substitutions and modifications without departing from the spirit and scope of the present disclosure. In addition, the protection scope of the present disclosure is not limited to the manufacturing processes, machines, manufacturing, material composition, devices, methods, and steps in the specific embodiments described in the specification. Anyone with ordinary knowledge in the technical field can implement some implementations from this disclosure. The disclosed content of the examples understands the current or future developed processes, machines, manufacturing, material composition, devices, methods, and steps, as long as they can implement substantially the same functions or obtain substantially the same results in the embodiments described herein. The present disclosure uses some embodiments. Therefore, the protection scope of the present disclosure includes the above-mentioned manufacturing processes, machines, manufacturing, material composition, devices, methods, and steps. In addition, each patent application scope constitutes an individual embodiment, and the protection scope of the present disclosure also includes each patent application scope and a combination of embodiments.
10:主機
100、200、500:記憶體裝置
110、210、510:記憶體控制器
120、220、520:記憶體陣列
121、221、521:第一記憶體庫
122、222、522:第二記憶體庫
211:漢明重量編碼器
223、523:第三記憶體庫
224、524:第四記憶體庫
221A、521A:第一子記憶體庫
222A、522A:第二子記憶體庫
DT:資料
DTB:反相資料
CMD:操作指令
CMDW:寫入指令
CMDR:讀取指令
DW:寫入資料
DR:讀取資料
DWB:反相寫入資料
HW:漢明重量
HWB:反相漢明重量
FD:假資料
FDB:反向假資料
S31~S37、S61~S68:步驟流程10:
第1圖係顯示根據本發明之一實施例所述之記憶體裝置之方塊圖; 第2圖係顯示根據本發明之另一實施例所述之寫入裝置之方塊圖; 第3圖係顯示根據本發明之一實施例所述之寫入方法之流程圖; 第4圖係顯示根據本發明之另一實施例所述之寫入方法之流程圖; 第5圖係顯示根據本發明之另一實施例所述之記憶體裝置之方塊圖;以及 第6圖係顯示根據本發明之一實施例所述之讀取方法之流程圖。Figure 1 shows a block diagram of a memory device according to an embodiment of the present invention; Figure 2 shows a block diagram of a writing device according to another embodiment of the present invention; Figure 3 is a flow chart showing the writing method according to an embodiment of the present invention; FIG. 4 shows a flowchart of a writing method according to another embodiment of the present invention; Figure 5 shows a block diagram of a memory device according to another embodiment of the present invention; and Fig. 6 shows a flowchart of the reading method according to an embodiment of the present invention.
10:主機10: host
200:記憶體裝置200: Memory device
210:記憶體控制器210: Memory Controller
220:記憶體陣列220: memory array
221:第一記憶體庫221: first memory bank
222:第二記憶體庫222: second memory bank
211:漢明重量編碼器211: Hamming weight encoder
223:第三記憶體庫223: third memory bank
224:第四記憶體庫224: The fourth memory bank
221A:第一子記憶體庫221A: The first sub-memory bank
222A:第二子記憶體庫222A: The second sub-memory bank
CMDW:寫入指令CMDW: write command
DW:寫入資料DW: write data
DWB:反相寫入資料DWB: Write data in reverse phase
HW:漢明重量HW: Hamming weight
HWB:反相漢明重量HWB: Inverted Hamming Weight
Claims (10)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108132365A TWI774985B (en) | 2019-09-09 | 2019-09-09 | Memory device, writing method, and reading method |
CN201911372389.1A CN112466364A (en) | 2019-09-09 | 2019-12-27 | Memory device, writing method and reading method |
US17/014,239 US11748274B2 (en) | 2019-09-09 | 2020-09-08 | Banked memory device storing hamming weight |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108132365A TWI774985B (en) | 2019-09-09 | 2019-09-09 | Memory device, writing method, and reading method |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202111538A true TW202111538A (en) | 2021-03-16 |
TWI774985B TWI774985B (en) | 2022-08-21 |
Family
ID=74807646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108132365A TWI774985B (en) | 2019-09-09 | 2019-09-09 | Memory device, writing method, and reading method |
Country Status (3)
Country | Link |
---|---|
US (1) | US11748274B2 (en) |
CN (1) | CN112466364A (en) |
TW (1) | TWI774985B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230420017A1 (en) * | 2022-06-23 | 2023-12-28 | Microsoft Technology Licensing, Llc | Computer memory arrays employing memory banks and integrated serializer/de-serializer circuits for supporting serialization/de-serialization of read/write data in burst read/write modes, and related methods |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549483B2 (en) * | 2001-03-30 | 2003-04-15 | Atmos Corporation | RAM having dynamically switchable access modes |
KR100827703B1 (en) * | 2006-12-14 | 2008-05-07 | 삼성전자주식회사 | Method for testing for use in pram |
US8667244B2 (en) * | 2011-03-21 | 2014-03-04 | Hewlett-Packard Development Company, L.P. | Methods, systems, and apparatus to prevent memory imprinting |
CN102903387A (en) * | 2012-09-27 | 2013-01-30 | 上海宏力半导体制造有限公司 | Storage array device and method thereof for reducing read current |
WO2014131546A1 (en) * | 2013-02-27 | 2014-09-04 | Morpho | Method for encoding data on a chip card by means of constant-weight codes |
KR102174030B1 (en) * | 2014-05-13 | 2020-11-05 | 삼성전자주식회사 | Storage device including nonvolatile memory device and read method thereof |
US9836277B2 (en) * | 2014-10-01 | 2017-12-05 | Samsung Electronics Co., Ltd. | In-memory popcount support for real time analytics |
US10073661B2 (en) * | 2016-07-20 | 2018-09-11 | Atmel Corporation | Security extensions for non-volatile memory |
US10944435B1 (en) * | 2020-03-27 | 2021-03-09 | Nxp B.V. | Tearing save encoding |
-
2019
- 2019-09-09 TW TW108132365A patent/TWI774985B/en active
- 2019-12-27 CN CN201911372389.1A patent/CN112466364A/en active Pending
-
2020
- 2020-09-08 US US17/014,239 patent/US11748274B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20210073146A1 (en) | 2021-03-11 |
US11748274B2 (en) | 2023-09-05 |
TWI774985B (en) | 2022-08-21 |
CN112466364A (en) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101685381B (en) | Data streaming of solid-state large-capacity storage device | |
TWI554883B (en) | Systems and methods for segmenting data structures in a memory system | |
US9836277B2 (en) | In-memory popcount support for real time analytics | |
TWI651735B (en) | Memory device and memory system including the same | |
US20190044739A1 (en) | Physically unclonable function with feed-forward addressing and variable latency output | |
JP4150718B2 (en) | Destructive read type random access memory system | |
US20170310341A1 (en) | Efficient data path architecture for flash devices | |
US10992483B2 (en) | Physically unclonable function device for use in user authentication system and operation method thereof | |
KR20220022478A (en) | Method and apparatus for providing memory-based physical copy protection functions | |
TWI774985B (en) | Memory device, writing method, and reading method | |
KR102127616B1 (en) | Exploiting pcm write asymmetries to accelerate write | |
US20180018104A1 (en) | Dynamic write latency for memory controller using data pattern extraction | |
JP6209322B2 (en) | Refresh method and semiconductor memory device using the same | |
US9576630B2 (en) | Memory devices and methods having multiple address accesses in same cycle | |
CN109933453A (en) | Error correcting method and the semiconductor devices for using it | |
CN111681690B (en) | Generation method and device of reconfigurable physical unclonable function based on STT-MRAM | |
US7451267B1 (en) | Method and apparatus for learn and related operations in network search engine | |
EP2899639A1 (en) | Nonvolatile memory and electronic device | |
JP6332756B2 (en) | Data processing method, apparatus, and system | |
Wen et al. | A holistic tri-region MLC STT-RAM design with combined performance, energy, and reliability optimizations | |
US9424442B2 (en) | Nonvolatile memory and electronic device | |
US11755235B2 (en) | Increasing random access bandwidth of a DDR memory in a counter application | |
WO2011157160A2 (en) | Method and device for encoding address of data | |
CN105955891A (en) | Double-layer wear-leveling method and system | |
Zhang et al. | Pin tumbler lock: A shift based encryption mechanism for racetrack memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |