JP6166868B2 - メモリコントローラ及びその動作方法、並びにメモリコントローラを含むメモリシステム、3次元メモリシステム、メモリカード、ソリッドステートドライブ、及び携帯用通信装置 - Google Patents
メモリコントローラ及びその動作方法、並びにメモリコントローラを含むメモリシステム、3次元メモリシステム、メモリカード、ソリッドステートドライブ、及び携帯用通信装置 Download PDFInfo
- Publication number
- JP6166868B2 JP6166868B2 JP2012153392A JP2012153392A JP6166868B2 JP 6166868 B2 JP6166868 B2 JP 6166868B2 JP 2012153392 A JP2012153392 A JP 2012153392A JP 2012153392 A JP2012153392 A JP 2012153392A JP 6166868 B2 JP6166868 B2 JP 6166868B2
- Authority
- JP
- Japan
- Prior art keywords
- seed
- page
- entry
- memory controller
- memory
- 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
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/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
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
-
- 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/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
- H01L2224/26—Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
- H01L2224/31—Structure, shape, material or disposition of the layer connectors after the connecting process
- H01L2224/32—Structure, shape, material or disposition of the layer connectors after the connecting process of an individual layer connector
- H01L2224/321—Disposition
- H01L2224/32135—Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
- H01L2224/32145—Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
- H01L2224/42—Wire connectors; Manufacturing methods related thereto
- H01L2224/47—Structure, shape, material or disposition of the wire connectors after the connecting process
- H01L2224/48—Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
- H01L2224/4805—Shape
- H01L2224/4809—Loop shape
- H01L2224/48091—Arched
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
- H01L2224/42—Wire connectors; Manufacturing methods related thereto
- H01L2224/47—Structure, shape, material or disposition of the wire connectors after the connecting process
- H01L2224/48—Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
- H01L2224/481—Disposition
- H01L2224/48135—Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
- H01L2224/48145—Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
- H01L2224/42—Wire connectors; Manufacturing methods related thereto
- H01L2224/47—Structure, shape, material or disposition of the wire connectors after the connecting process
- H01L2224/48—Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
- H01L2224/481—Disposition
- H01L2224/48151—Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
- H01L2224/48221—Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
- H01L2224/48225—Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
- H01L2224/48227—Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation connecting the wire to a bond pad of the item
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/73—Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
- H01L2224/732—Location after the connecting process
- H01L2224/73251—Location after the connecting process on different surfaces
- H01L2224/73265—Layer and wire connectors
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/10—Details of semiconductor or other solid state devices to be connected
- H01L2924/11—Device type
- H01L2924/12—Passive devices, e.g. 2 terminal devices
- H01L2924/1204—Optical Diode
- H01L2924/12044—OLED
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/15—Details of package parts other than the semiconductor or other solid state devices to be connected
- H01L2924/151—Die mounting substrate
- H01L2924/153—Connection portion
- H01L2924/1531—Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface
- H01L2924/15311—Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface being a ball array, e.g. BGA
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/15—Details of package parts other than the semiconductor or other solid state devices to be connected
- H01L2924/181—Encapsulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Storage Device Security (AREA)
- Memory System (AREA)
Description
他の態様において、前記ページの前記アドレスは前記ページに相応するワードラインアドレスである。
前記複数のシードグループのそれぞれがメモリ装置の複数のページのうち、少なくとも一つに対応する場合、前記複数のページの数は、1本のワードラインに接続された複数のマルチレベルセルのそれぞれに保存されるビットの数と同一である。
前記複数のシードグループのそれぞれは、異なるシードテーブルに保存される。
他の態様において、前記複数のシードグループのそれぞれが同じシードテーブルに保存され、前記複数のシードグループのそれぞれが複数のエントリーを含む複数のゾーンのそれぞれに対応する場合、前記マイクロプロセッサは、前記複数のゾーンのうちから前記シードグループに相応するゾーンを前記現在プログラムされるページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択し、該選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択し、前記選択されたゾーンに含まれる次のエントリーを指定するために前記エントリーポインターをインクリメントする。
他の態様において、前記複数のシードグループが同じシードテーブルに保存され、前記複数のシードグループのそれぞれが複数のエントリーを含む複数のゾーンの中のいずれか一つに対応する場合、前記マイクロプロセッサは、前記複数のゾーンのうちからいずれか一つのゾーンを前記現在プログラムされるページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択し、該選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記選択されたシードとして選択し、前記選択されたゾーンに含まれる次のエントリーを指定するために前記エントリーポインターをインクリメントする。
前記メモリシステムは、前記不揮発性メモリ装置を具現する第1チップと前記メモリコントローラを具現する第2チップを含むマルチチップパッケージ(Multi−Chip Package)である。
前記マイクロプロセッサは前記現在プログラムされるページのページアドレスの少なくとも一部のビット、または前記現在プログラムされるページに対応するワードラインアドレスの少なくとも一部のビットに基づいて、前記複数のシードグループのうち、現在プログラムされるページに対応する前記シードグループを選択し、
前記マイクロプロセッサは、前記選択されたシードグループに含まれた複数のエントリーの中からエントリーポインターによって指定されたエントリーを前記選択されたシードとして選択し、前記選択されたシードグループの次のエントリーを指定するために前記エントリーポインターをインクリメントする。
一態様において、前記アドレスの少なくとも一部のビットは、前記アドレスの下位ビットである。
11、13 マルチチップパッケージ
11−1、13−1 回路基板
11−2、11−4、13−2、13−3 ボンディングワイヤ
11−3、13−4 ソルダボール
20 メモリコントローラ
22、340 マイクロプロセッサ
24 バッファ
26 ROM
28、501 バス
29、350、540 ホストインターフェース
30 メモリインターフェース
30A、30B データ変換装置
32 擬似乱数生成器
34 モジュロ演算器
34−1 第1モジュロ演算器
34−2 第2モジュロ演算器
36、530 ECC(エラー訂正コード)ブロック
40 不揮発性メモリ装置
42−1〜N 第1〜第Nページ
43 コントロールロジック
44 電圧発生器
45 ローデコーダ
46 ページバッファブロック
47 カラムデコーダ
48 Y−ゲーティング回路
49 入出力ブロック
100、200、400、500、600、600−1〜n 電子装置
110、210、410 プロセッサ
120、230、430 ディスプレイ
130 無線送受信器
134、220 入出力装置
140 メモリセルアレイ
300 メモリカード
320 カードインターフェース
330、640 ホスト
420 イメージセンサー
510 CPU
550 メモリ装置
620 バッファマネージャー
630 揮発性メモリ装置(DRAM)
700 データ処理装置
710 RAIDコントローラ
Claims (20)
- それぞれが複数のシードを保存する複数のシードグループのうちから現在プログラムされるページのアドレスのうち、少なくとも一部のビットを用いて前記ページに対応するシードグループを選択する段階と、
現在プログラムされる前記ページに対応する前記選択されたシードグループに含まれる複数の前記保存されたシード(seed)の中からシードを選択する段階と、
前記選択されたシードを用いて擬似乱数を生成する段階と、
前記生成された擬似乱数を用いて前記ページにプログラムされるデータをランダマイズする段階と、
該ランダマイズされたデータを出力する段階と、を有し、
前記現在プログラムされるページに対応するシードグループは、複数の保存されたシードグループのうち、いずれかの一つであり、
前記シードを選択する段階は、
前記選択されたシードグループに含まれる複数のエントリーのうち、エントリーポインターによって指定されたエントリーを前記選択されたシードとして選択する段階と、
前記選択されたシードグループに含まれる次のエントリーを指定するためにエントリーポインターをインクリメントする段階とを含むことを特徴とするメモリコントローラの動作方法。 - 前記エントリーポインターによって指定されたエントリーが選択された後、前記メモリコントローラがリセットされない場合、前記エントリーポインターをインクリメントし、
前記メモリコントローラがリセットされると、インクリメントされたエントリーポインターは、デフォルト値にリセットされる段階をさらに含むことを特徴とする請求項1に記載のメモリコントローラの動作方法。 - 前記ページの前記アドレスは前記ページに相応するワードラインアドレスであることを特徴とする請求項1に記載のメモリコントローラの動作方法。
- 前記複数のシードグループのそれぞれがメモリ装置の複数のページのうち、少なくとも一つに対応する場合、
前記複数のページの数は、1本のワードラインに接続された複数のマルチレベルセルのそれぞれに保存されるビットの数と同一であることを特徴とする請求項1に記載のメモリコントローラの動作方法。 - それぞれが複数のシードを保存する複数のシードグループの中で、現在プログラムされるページのアドレスの少なくとも一部のビットを用いて前記ページに対応するシードグループを選択する段階と、
それぞれが異なるシードテーブルに保存された複数のシードグループのうちから現在プログラムされる前記ページに対する前記選択されたシードグループに含まれるシードを用いて擬似乱数を生成する段階と、
前記生成された擬似乱数を用いて、前記現在プログラムされるページにプログラムされるデータをランダマイズする段階と、
該ランダマイズされたデータを出力する段階と、を有し、
前記疑似乱数を生成する段階は、
前記選択されたシードグループに含まる複数のエントリーの中でエントリーポインターによって指定したエントリーを選択されたシードとして選択する段階と、
前記選択されたシードグループに含まる次のエントリーを指定するためにエントリーポインターをインクリメントする段階と、
前記選択されたシードを用いて疑似乱数を生成する段階とを含むことを特徴とするメモリコントローラの動作方法。
- 複数のシードグループのうちから現在プログラムされるページに割り当てられたシードグループを選択する段階と、
前記シードグループに含まるシードを選択し、選択されたシードを用いて擬似乱数を生成する段階と、
前記擬似乱数を用いて前記現在プログラムされるページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力する段階と、を有し、
前記複数のシードグループのそれぞれはシードテーブルに保存され、前記複数のシードグループのそれぞれは複数のエントリーを含む複数のゾーンのそれぞれに対応し、
各ゾーンは複数のエントリーを含み、各エントリーはシードを含み、
前記選択されたシードグループに相応するゾーンは、前記現在プログラムされるページのページアドレスの少なくとも一部のビットによって選択され、
前記選択されたシードは、前記選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーであり、
前記シードを選択する段階は、前記選択されたゾーンの次のエントリーを指定するために前記エントリーポインターをインクリメントする段階をさらに含むことを特徴とするメモリコントローラの動作方法。 - それぞれが複数のシードを保存する複数のシードグループのうちから選択され、現在プログラムされるページに対する選択されたシードグループに含まれるシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数に基づいて前記現在プログラムされるページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力するランダマイザーと、を備え、
前記マイクロプロセッサは、
前記選択されたシードグループに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択した後、前記選択されたシードグループに含まれる次のエントリーを指定するためにエントリーポインターをインクリメントし、
前記メモリコントローラがリセットされると、インクリメントされたエントリーポインターは、デフォルト値にリセットされ、
前記マイクロプロセッサが前記現在プログラムされるページのページアドレスの少なくとも一部のビット、又は前記ページに対応するワードラインアドレスの少なくとも一部のビットを用いて、前記複数のシードグループの中で現在プログラムされる前記ページに対応する前記シードグループを選択することを特徴とするメモリコントローラ。 - 前記複数のシードグループを保存するROMを更に備えることを特徴とする請求項7に記載のメモリコントローラ。
- 前記複数のシードグループのそれぞれは、異なるシードテーブルに保存されることを特徴とする請求項7に記載のメモリコントローラ。
- 前記複数のシードグループのそれぞれが同じシードテーブルに保存され、前記複数のシードグループのそれぞれが複数のエントリーを含む複数のゾーンのそれぞれに対応する場合、
前記マイクロプロセッサは、
前記複数のゾーンのうちから前記シードグループに相応するゾーンを前記現在プログラムされるページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択し、該選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択し、前記選択されたゾーンに含まれる次のエントリーを指定するために前記エントリーポインターをインクリメントすることを特徴とする請求項7に記載のメモリコントローラ。 - 複数のページを有するメモリセルアレイを含む不揮発性メモリ装置と、
前記不揮発性メモリ装置のアクセス動作を制御するメモリコントローラと、を備え、
前記メモリコントローラは、
それぞれが複数のシードを保存する複数のシードグループのうちから現在プログラムされるページに対する保存されたシードグループに含まれる保存されたシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを前記不揮発性メモリ装置に出力するランダマイザーと、を含み、
前記マイクロプロセッサは、前記現在プログラムされるページのページアドレスの少なくとも一部のビット、又は前記現在プログラムされるページに対応するワードラインアドレスの少なくとも一部のビットに基づいて、前記複数のシードグループのうち、現在プログラムされるページに対応する前記シードグループを選択し、
前記マイクロプロセッサは、前記選択されたシードグループに含まれた複数のエントリーの中から、エントリー ポインターによって指定されたエントリーを前記選択されたシードとして選択して、前記選択されたシードグループでの次のエントリーを指定するために前記エントリーポインターをインクリメントすることを特徴とするメモリシステム。 - 前記複数のシードグループのそれぞれが互いに異なるシードテーブルに保存される
ことを特徴とする請求項11に記載のメモリシステム。 - 前記複数のシードグループが同じシードテーブルに保存され、前記複数のシードグループのそれぞれが複数のエントリーを含む複数のゾーンの中のいずれか一つに対応する場合、
前記マイクロプロセッサは、
前記複数のゾーンのうちからいずれか一つのゾーンを前記現在プログラムされるページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択し、該選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記選択されたシードとして選択し、前記選択されたゾーンに含まれる次のエントリーを指定するために前記エントリーポインターをインクリメントすることを特徴とする請求項11に記載のメモリシステム。 - 前記メモリシステムは、前記不揮発性メモリ装置を具現する第1チップと前記メモリコントローラを具現する第2チップを含むマルチチップパッケージであることを特徴とする請求項11に記載のメモリシステム。
- 複数のページを有するメモリセルアレイを含むフラッシュメモリ装置と、
ホストと通信するためのカードインターフェースと、
前記フラッシュメモリ装置と前記カードインターフェースとの間の通信を制御するメモリコントローラと、を備え、
前記メモリコントローラは、
それぞれが複数のシードを保存する複数のシードグループのうちから選択され、現在プログラムされるページに対するシードグループに含まれるシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを前記フラッシュメモリ装置に出力するランダマイザーと、を含み、
前記マイクロプロセッサは、前記選択されたシードグループに含まれた複数のエントリーの中からエントリーポインターによって指定されたエントリーを前記選択されたシードとして選択し、前記選択されたシードグループの次のエントリーを指定するためにエントリーポインターをインクリメントし、
前記メモリコントローラがリセットする時、インクリメントされたエントリーポインターはデフォルト値にリセットし、
前記マイクロプロセッサが前記現在プログラムされるページのページアドレスの少なくとも一部のビット、又は前記ページに対応するワードラインアドレスの少なくとも一部のビットを用いて前記複数のシードグループのうち、現在プログラムされる前記ページに対応する前記シードグループを選択することを特徴とするメモリカード。 - 前記メモリカードは、MMC、SDカード、又はUSBフラッシュドライブであることを特徴とする請求項15に記載のメモリカード。
- 複数のページを有するメモリセルアレイを含むフラッシュメモリ装置と、
前記フラッシュメモリ装置の動作を制御するメモリコントローラと、
前記メモリコントローラの制御によって前記フラッシュメモリ装置から出力されたデータをディスプレイするディスプレイと、を備え、
前記メモリコントローラは、
それぞれが複数のシードを保存する複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれる保存されたシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを前記フラッシュメモリ装置に出力するランダマイザーと、を含み、
前記マイクロプロセッサは、前記現在プログラムされるページのページアドレスの少なくとも一部のビット、又は前記現在プログラムされるページに対応するワードラインアドレスの少なくとも一部のビットに基づいて、前記複数のシードグループの中から現在プログラムされるページに対応するシードグループを選択し、
前記マイクロプロセッサは前記選択されたシードグループに含まれる複数のエントリーの中からエントリーポインターによって指定されたエントリーを前記選択されたシードとして選択し、前記選択されたシードグループの中の次のエントリーを指定するために前記エントリーポインターをインクリメントすることを特徴とする携帯用通信装置。 - それぞれが複数のページを有する複数のレイヤを含む3次元不揮発性メモリ装置と、
前記3次元不揮発性メモリ装置の動作を制御するメモリコントローラと、を備え、
前記メモリコントローラは、
それぞれが複数のシードを保存する複数のシードグループのうちから現在プログラムされるページに割り当てられたシードグループに含まれる保存されたシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力するランダマイザーと、を含み、
前記マイクロプロセッサは、選択されたシードグループに含まれる複数のエントリーの中からエントリーポインターによって指定されたエントリーを前記選択されたシードとして選択し、前記選択されたシードグループの次のエントリーを指定するためにエントリーポインターをインクリメントさせ、
前記メモリコントローラがリセットした時、インクリメントしたエントリーポインターはデフォルト値にリセットし、
前記マイクロプロセッサが前記現在プログラムされるページのページアドレスの少なくとも一部のビット、または前記ページに対応するワードラインアドレスの少なくとも一部のシードを用いて前記複数のシードグループの中から現在プログラムされる前記ページに対応する前記シードグループを選択することを特徴とする3次元メモリシステム。 - それぞれが複数のページを含む複数のソリッドステートメモリ装置と、
前記複数のソリッドステートメモリ装置のそれぞれの動作を制御するメモリコントローラと、を備え、
前記メモリコントローラは、
それぞれが複数のシードを保存する複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれる保存されたシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを現在プログラムされる前記ページに出力するランダマイザーと、を含み、
前記マイクロプロセッサは前記現在プログラムされるページのページアドレスの少なくとも一部のビット、または前記現在プログラムされるページに対応するワードラインアドレスの少なくとも一部のビットに基づいて、前記複数のシードグループのうち、現在プログラムされるページに対応する前記シードグループを選択し、
前記マイクロプロセッサは、前記選択されたシードグループに含まれた複数のエントリーの中からエントリーポインターによって指定されたエントリーを前記選択されたシードとして選択し、前記選択されたシードグループの次のエントリーを指定するために前記エントリーポインターをインクリメントすることを特徴とするソリッドステートドライブ。 - 前記アドレスの少なくとも一部のビットは、前記アドレスの下位ビットであることを特徴とする請求項1に記載のメモリコントローラの動作方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110068089A KR101818445B1 (ko) | 2011-07-08 | 2011-07-08 | 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 전자 장치들 |
KR10-2011-0068089 | 2011-07-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013020620A JP2013020620A (ja) | 2013-01-31 |
JP6166868B2 true JP6166868B2 (ja) | 2017-07-19 |
Family
ID=47439366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012153392A Active JP6166868B2 (ja) | 2011-07-08 | 2012-07-09 | メモリコントローラ及びその動作方法、並びにメモリコントローラを含むメモリシステム、3次元メモリシステム、メモリカード、ソリッドステートドライブ、及び携帯用通信装置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9152551B2 (ja) |
JP (1) | JP6166868B2 (ja) |
KR (1) | KR101818445B1 (ja) |
CN (1) | CN102866877B (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101818445B1 (ko) * | 2011-07-08 | 2018-01-16 | 삼성전자주식회사 | 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 전자 장치들 |
KR102112115B1 (ko) * | 2013-04-17 | 2020-05-18 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 데이터 프로그램 방법 |
TWI533305B (zh) * | 2014-02-10 | 2016-05-11 | 慧榮科技股份有限公司 | 將資料寫入至快閃記憶體的方法及相關的記憶裝置與快閃記憶體 |
JP5745136B1 (ja) * | 2014-05-09 | 2015-07-08 | 力晶科技股▲ふん▼有限公司 | 不揮発性半導体記憶装置とその書き込み方法 |
KR101630791B1 (ko) * | 2015-03-27 | 2016-06-16 | 황순영 | 의사 난수로부터 진성 난수를 생성하는 방법 및 이 방법을 컴퓨터상에서 실행할 수 있는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 |
WO2016187801A1 (zh) * | 2015-05-26 | 2016-12-01 | 崔开平 | 一种用于储存介质的数据管理方法及固态硬盘与控制芯片 |
KR102511459B1 (ko) * | 2016-03-17 | 2023-03-17 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 동작 방법 |
US10303623B2 (en) * | 2016-04-08 | 2019-05-28 | Cryptography Research, Inc. | Non-volatile memory for secure storage of authentication data |
CN106502590A (zh) * | 2016-10-24 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种固态硬盘ssd存储系统及方法 |
KR102648774B1 (ko) * | 2016-11-10 | 2024-03-19 | 에스케이하이닉스 주식회사 | 랜더마이즈 동작을 수행하는 반도체 메모리 장치 |
CN108109661B (zh) * | 2016-11-25 | 2021-01-26 | 翰顺联电子科技(南京)有限公司 | 快闪存储器及其操作方法 |
KR20180067756A (ko) * | 2016-12-12 | 2018-06-21 | 에스케이하이닉스 주식회사 | 제어 장치, 그 제어 장치를 포함하는 반도체 시스템 및 그 반도체 시스템의 구동 방법 |
JP6494139B1 (ja) * | 2018-01-11 | 2019-04-03 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
JP2019215945A (ja) * | 2018-06-14 | 2019-12-19 | 富士通株式会社 | メモリ制御装置、情報処理装置、及びメモリ制御方法 |
CN108958666A (zh) * | 2018-07-26 | 2018-12-07 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法及主控芯片 |
TWM575145U (zh) * | 2018-09-04 | 2019-03-01 | 威盛電子股份有限公司 | 保全儲存資料的系統 |
US10797064B2 (en) * | 2018-09-19 | 2020-10-06 | Ememory Technology Inc. | Single-poly non-volatile memory cell and operating method thereof |
KR20200137542A (ko) * | 2019-05-30 | 2020-12-09 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 저장 장치 |
KR20210078193A (ko) | 2019-12-18 | 2021-06-28 | 에스케이하이닉스 주식회사 | 랜더마이저를 포함하는 반도체 메모리 장치 및 메모리 컨트롤러 |
TWI796078B (zh) * | 2021-09-08 | 2023-03-11 | 瑞鼎科技股份有限公司 | 有機發光二極體顯示裝置及其運作方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6947960B2 (en) * | 2002-02-21 | 2005-09-20 | Koninklijke Philips Electronics N.V. | Randomness test utilizing auto-correlation |
US7139785B2 (en) * | 2003-02-11 | 2006-11-21 | Ip-First, Llc | Apparatus and method for reducing sequential bit correlation in a random number generator |
JP3732188B2 (ja) * | 2003-03-31 | 2006-01-05 | Necマイクロシステム株式会社 | 擬似乱数発生回路 |
JP2004361986A (ja) | 2003-04-08 | 2004-12-24 | Sharp Corp | スクランブル回路 |
CN1879343A (zh) | 2003-11-14 | 2006-12-13 | 松下电器产业株式会社 | 数据处理装置 |
US7640438B2 (en) | 2005-02-15 | 2009-12-29 | Satyam Computer Services Ltd. | System and method for protected content rendering |
US20070005935A1 (en) | 2005-06-30 | 2007-01-04 | Khosravi Hormuzd M | Method and apparatus for securing and validating paged memory system |
JP2008003976A (ja) * | 2006-06-26 | 2008-01-10 | Sony Corp | メモリアクセス制御装置および方法、並びに、通信装置 |
CN100504814C (zh) | 2007-01-17 | 2009-06-24 | 忆正存储技术(深圳)有限公司 | 闪存的区块管理方法 |
JP4498370B2 (ja) * | 2007-02-14 | 2010-07-07 | 株式会社東芝 | データ書き込み方法 |
JP2008217857A (ja) * | 2007-02-28 | 2008-09-18 | Toshiba Corp | メモリコントローラ及び半導体装置 |
US20080263117A1 (en) * | 2007-04-23 | 2008-10-23 | Gregory Gordon Rose | Initial seed management for pseudorandom number generator |
US7873803B2 (en) | 2007-09-25 | 2011-01-18 | Sandisk Corporation | Nonvolatile memory with self recovery |
US8301912B2 (en) * | 2007-12-31 | 2012-10-30 | Sandisk Technologies Inc. | System, method and memory device providing data scrambling compatible with on-chip copy operation |
US8788552B2 (en) * | 2008-01-25 | 2014-07-22 | Tata Consultancy Services Ltd. | Deterministic random number generator for cryptography and digital watermarking |
US20090282267A1 (en) * | 2008-05-09 | 2009-11-12 | Ori Stern | Partial scrambling to reduce correlation |
US8154918B2 (en) * | 2008-06-30 | 2012-04-10 | Sandisk Il Ltd. | Method for page- and block based scrambling in non-volatile memory |
KR101554159B1 (ko) | 2008-10-08 | 2015-09-21 | 삼성전자주식회사 | 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템 |
US8713330B1 (en) * | 2008-10-30 | 2014-04-29 | Apple Inc. | Data scrambling in memory devices |
KR101563647B1 (ko) * | 2009-02-24 | 2015-10-28 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 처리 방법 |
KR20110055178A (ko) | 2009-11-19 | 2011-05-25 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것을 포함한 메모리 시스템 |
JP2011134125A (ja) | 2009-12-24 | 2011-07-07 | Toshiba Corp | コントローラ及びデータストレージシステム |
TWI438778B (zh) * | 2010-03-25 | 2014-05-21 | Silicon Motion Inc | 用來抑制資料錯誤之方法以及相關之記憶裝置及其控制器 |
US8732431B2 (en) * | 2011-03-06 | 2014-05-20 | Micron Technology, Inc. | Logical address translation |
US9015401B2 (en) * | 2011-04-28 | 2015-04-21 | Seagate Technology Llc | Selective purge of confidential data from a non-volatile memory |
KR101818445B1 (ko) * | 2011-07-08 | 2018-01-16 | 삼성전자주식회사 | 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 전자 장치들 |
US8984373B2 (en) * | 2012-02-22 | 2015-03-17 | Silicon Motion, Inc. | Method for accessing flash memory and associated flash memory controller |
-
2011
- 2011-07-08 KR KR1020110068089A patent/KR101818445B1/ko active IP Right Grant
-
2012
- 2012-07-02 US US13/540,078 patent/US9152551B2/en active Active
- 2012-07-05 CN CN201210232132.8A patent/CN102866877B/zh active Active
- 2012-07-09 JP JP2012153392A patent/JP6166868B2/ja active Active
-
2015
- 2015-10-05 US US14/875,205 patent/US10013349B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN102866877B (zh) | 2017-05-10 |
JP2013020620A (ja) | 2013-01-31 |
US10013349B2 (en) | 2018-07-03 |
US20160034390A1 (en) | 2016-02-04 |
US20130013854A1 (en) | 2013-01-10 |
KR20130006195A (ko) | 2013-01-16 |
KR101818445B1 (ko) | 2018-01-16 |
CN102866877A (zh) | 2013-01-09 |
US9152551B2 (en) | 2015-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6166868B2 (ja) | メモリコントローラ及びその動作方法、並びにメモリコントローラを含むメモリシステム、3次元メモリシステム、メモリカード、ソリッドステートドライブ、及び携帯用通信装置 | |
US11362685B2 (en) | Nonvolatile memory device and read and copy-back methods thereof | |
US8635509B2 (en) | Method of operating memory controller and memory system including the memory controller | |
US9256528B2 (en) | Method for operating a memory controller and a system having the memory controller | |
TWI646419B (zh) | 包括錯誤校正碼組織之裝置及方法 | |
US20120215963A1 (en) | Semiconductor Memory Systems that Include Data Randomizers and Related Devices, Controllers and Methods | |
KR20120028581A (ko) | 비휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 장치들 | |
KR20100124087A (ko) | 메모리 컨트롤러, 그것을 포함하는 메모리 시스템 그리고 그것의 동작 방법 | |
US9741440B2 (en) | Memory device and read method of memory device | |
KR20180021327A (ko) | 데이터 처리 시스템 및 그의 동작 방법 | |
US10930350B2 (en) | Memory device for updating micro-code, memory system including the memory device, and method for operating the memory device | |
US8984036B2 (en) | Methods for operating controllers using seed tables | |
KR20170011645A (ko) | 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 | |
CN113760794A (zh) | 存储装置和操作存储装置的方法 | |
US10199079B2 (en) | Semiconductor memory device | |
US10515704B2 (en) | Semiconductor memory device and operating method thereof | |
US9147484B2 (en) | Semiconductor memory device and operating method thereof | |
KR20140123135A (ko) | 플래그 셀들을 포함하는 반도체 메모리 장치 | |
KR102067611B1 (ko) | 메모리 컨트롤러의 동작 방법과 상기 메모리 컨트롤러를 포함하는 장치들 | |
US20140189218A1 (en) | Method of programming data into nonvolatile memory and method of reading data from nonvolatile memory | |
US8914572B2 (en) | Memory controllers and memory systems including the same | |
KR20130066720A (ko) | 메모리 컨트롤러 및 이의 동작 방법 | |
KR102665270B1 (ko) | 반도체 메모리 장치 및 그것의 동작 방법 | |
CN112748875A (zh) | 存储器系统和存储器系统的操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150708 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160712 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170228 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170530 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170626 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6166868 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |