JP7427972B2 - 半導体記憶装置、コントローラ、及び方法 - Google Patents
半導体記憶装置、コントローラ、及び方法 Download PDFInfo
- Publication number
- JP7427972B2 JP7427972B2 JP2020009260A JP2020009260A JP7427972B2 JP 7427972 B2 JP7427972 B2 JP 7427972B2 JP 2020009260 A JP2020009260 A JP 2020009260A JP 2020009260 A JP2020009260 A JP 2020009260A JP 7427972 B2 JP7427972 B2 JP 7427972B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- word line
- semiconductor memory
- read
- 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
- 239000004065 semiconductor Substances 0.000 title claims description 124
- 238000000034 method Methods 0.000 title claims description 25
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 30
- 230000000052 comparative effect Effects 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000005415 magnetization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Dram (AREA)
Description
本開示は、半導体記憶装置、コントローラ、及び方法に関する。
例えば、ニューラルネットワークの計算においては、多次元の構造を有するデータに対して、各次元方向における隣接データへの高速で効率的なアクセスが求められる。多次元構造のデータを1次元に並べ替えてワード線上に配列することで、少なくとも所定の次元方向におけるデータアクセスを効率化することができる(例えば特許文献1参照)。
しかしながら、特許文献1が開示する構成では、1回のアドレス指定により読み出し可能なデータのワード構成は予め決定されており、全ての次元方向データへの効率的なアクセスを実現させることは困難である。
そこで、本開示では、任意の次元方向に隣接する複数のデータに対し、効率的なアクセスが可能となる半導体記憶装置、コントローラ、及び方法を提案する。
本開示にかかる半導体記憶装置は、多次元の構造を有するデータがワード線上に一次元に配列されたメモリセルアレイと、前記メモリセルアレイから、任意の次元方向に隣接する複数のデータを1回のアドレス指定で読み出し可能なコントローラと、を備え、前記コントローラは、読み出し動作の起点となる前記ワード線上のアドレスを生成するアドレス生成回路と、生成された前記アドレスに所定の演算を施して、読み出し対象の次元方向に隣接するデータの前記ワード線上のアドレスを生成する演算回路と、前記演算に用いる値を含む信号を生成する信号生成回路と、を備える。
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
[実施形態1]
以下、図面を用いて実施形態1について説明する。
以下、図面を用いて実施形態1について説明する。
(半導体記憶装置の構成例)
図1は、本開示の実施形態1にかかる半導体記憶装置1の構成を示す図である。実施形態1の半導体記憶装置1は、例えばMRAM(Magnetresistive Random Access Memory)、SRAM(Static RAM)、DRAM(Dynamic RAM)等である。
図1は、本開示の実施形態1にかかる半導体記憶装置1の構成を示す図である。実施形態1の半導体記憶装置1は、例えばMRAM(Magnetresistive Random Access Memory)、SRAM(Static RAM)、DRAM(Dynamic RAM)等である。
図1に示すように、半導体記憶装置1は複数のバンク100を備える。各々のバンク100は、複数の半導体記憶素子が例えば2次元のアレイ状に配列されたメモリセルアレイ101を備える。
ここで、複数のバンク100は、互いに並列動作が可能な並列動作要素である。つまり、1つのバンク100が備えるメモリセルアレイ101内の所定の半導体記憶素子が動作中に、他のバンク100が備えるメモリセルアレイ101内の所定の半導体記憶素子を動作させることができる。
メモリセルアレイ101内の個々の半導体記憶素子は、半導体記憶装置1がMRAMである場合、磁気トンネル接合を有し、磁化の状態の変化によってデータを記憶する。また、半導体記憶装置1がSRAMである場合、メモリセルアレイ101内の半導体記憶素子は、複数のトランジスタを組み合わせたフリップフロップ回路から構成され、電荷の保持によってデータを記憶する。また、半導体記憶装置1がDRAMである場合、メモリセルアレイ101内の半導体記憶素子は、キャパシタに電荷を保持することによってデータを記憶する。
以下においては、メモリセルアレイ101内の個々の半導体記憶素子は、1ビットのデータを記憶可能なSLC(Single Level Cell)であるものとして説明をする。しかし、メモリセルアレイ101内の半導体記憶素子は、2ビット以上の多ビットのデータを記憶可能なMLC(Multi Level Cell)であってもよい。
図2は、本開示の実施形態1にかかる半導体記憶装置1のバンク100の構成を示す図である。図2に示すように、1つのバンク100は、上述のメモリセルアレイ101及びメモリコントローラ110を備える。
メモリセルアレイ101は、例えば紙面の垂直方向に互いに並行して延びる複数のビット線BLを備える。また、メモリセルアレイ101は、例えば紙面の水平方向に互いに並行して延びる複数のワード線WLを備える。個々の半導体記憶素子MCは、いずれかのビット線BLといずれかのワード線WLとに接続される。つまり、ビット線BL及びワード線WLの各交差部に、半導体記憶素子MCがアレイ状に配置される。
メモリコントローラ110は、制御部111、カラムデコーダ(CA Dec)121、ロウデコーダ(RA Dec)122、センスアンプ/ライトアンプ(SA/WA)123、及び加算器(MUX)131~134を備える。
制御部111は、メモリコントローラ110内の上記各構成の動作を制御することにより、メモリセルアレイ101内の半導体記憶素子MCを含め、1つのバンク100全体を制御する。制御部111は、アドレス生成回路111a及び信号生成回路111bを備える。
アドレス生成回路111aは、メモリセルアレイ101内の所定の半導体記憶素子MCに対するデータの書き込み及び読み出しに際し、動作対象の半導体記憶素子MCのうち、動作の起点となる半導体記憶素子MCのカラムアドレスCA及びロウアドレスRAを生成する。カラムアドレスCAは、所定の半導体記憶素子MCに接続されるビット線BLを指定するアドレスであり、カラムデコーダ121に転送される。ロウアドレスRAは、所定の半導体記憶素子MCに接続されるワード線WLを指定するアドレスであり、ロウデコーダ122に転送される。
信号生成回路111bは、動作対象の半導体記憶素子MCのうち、起点となる半導体記憶素子MCを除く、残りの半導体記憶素子MCを特定するための信号aiを生成する。生成された信号aiは、上記のカラムアドレスCAに付加されて、カラムデコーダ121に転送される。
カラムデコーダ121は、制御部111から取得したカラムアドレスCAに基づき、対応するビット線BLを特定する。そして、特定したビット線BLのアドレス情報addrと共に、信号aiを加算器131~134へと転送する。
ロウデコーダ122は、制御部111から取得したロウアドレスRAに基づき、対応するワード線WLを選択し、例えば所定の電圧を印加する等して、選択したワード線WLを駆動させる。
センスアンプ/ライトアンプ123は、例えば所定の電圧を印加する等して、所定のビット線BLを駆動させる。これにより、駆動ビット線BLと上述の駆動ワード線WLとの両方に接続する半導体記憶素子MCが駆動する。そして、書き込み時には、その半導体記憶素子MCにデータが書き込まれる。また、読み出し時には、センスアンプ/ライトアンプ123に、その半導体記憶素子MCのデータが読み出される。
演算回路としての加算器131~134は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づき、動作対象の半導体記憶素子MCに接続されるビット線BLのアドレスを生成する。個々の加算器131~134は、例えば複数のマルチプレクサが組み合わされた構成を有し、与えられた所定の値を元の数値に加算する。ここで、元の数値とは、例えばアドレス情報addrに含まれるビット線BLを示す番号のことであり、加算されるべき所定の値は、例えば信号aiに含まれる。
最初の加算器131には、アドレス情報addrが転送され、信号aiは転送されない。したがって、加算器131は、アドレス情報addrに含まれるアドレスを、動作対象の半導体記憶素子MCに接続されるビット線BLのアドレスとして使用する。
2番目の加算器132には、アドレス情報addrとともに、信号aiが1回与えられる。したがって、加算器132は、アドレス情報addrに含まれるアドレスに、信号aiに含まれる値を1回、加算して、動作対象の半導体記憶素子MCに接続されるビット線BLのアドレスを生成する。
3番目の加算器133には、アドレス情報addrとともに、信号aiが2回与えられる。したがって、加算器133は、アドレス情報addrに含まれるアドレスに、信号aiに含まれる値を2回、加算して、動作対象の半導体記憶素子MCに接続されるビット線BLのアドレスを生成する。
4番目の加算器134には、アドレス情報addrとともに、信号aiが3回与えられる。したがって、加算器134は、アドレス情報addrに含まれるアドレスに、信号aiに含まれる値を3回、加算して、動作対象の半導体記憶素子MCに接続されるビット線BLのアドレスを生成する。
また、加算器131~134は、演算により生成したビット線BLのアドレスに対応する半導体記憶素子MCについての動作を完遂させる。つまり、書き込み時には、駆動ワード線WL上の全ての半導体記憶素子MCのうち、演算により生成したアドレスに対応するビット線BLに接続される半導体記憶素子MCへのデータの書き込みがなされる。また、読み出し時には、駆動ワード線WL上の全ての半導体記憶素子MCのデータがセンスアンプ/ライトアンプ123に読み出され、それらのうち、演算により生成したアドレスに対応するビット線BLに接続される半導体記憶素子MCからのデータが、各々の加算器131~134により取得される。加算器131~134は、取得したデータを制御部111へと転送する。
ところで、ビット線番号への所定値の加算は、半導体記憶装置が1度に処理が可能なビット数分、繰り返される。また、データ読み出し時には、1度に処理が可能なビット数分、データの読み出し先が必要である。このため、1度に処理が可能なビット数と同数の加算器が必要となる。図2の例では、実施形態1の半導体記憶装置1は4つの加算器131~134を備えている。すなわち、実施形態1の半導体記憶装置1は、4ビットのワード構成を有し、1度に4ビットのデータ処理が可能である。
なお、メモリコントローラ110は、上記構成以外にも、例えば加算器131~134に読み出された個々のデータの並べ替えを行うデータ配列変換回路(不図示)等を備えていてもよい。
(半導体記憶装置のデータ構造の例)
次に、図3及び図4を用いて、実施形態1の半導体記憶装置1の記憶対象となるデータが元々有している構造と、実際に半導体記憶装置1に記憶された状態でのデータ構造との対応関係について説明する。
次に、図3及び図4を用いて、実施形態1の半導体記憶装置1の記憶対象となるデータが元々有している構造と、実際に半導体記憶装置1に記憶された状態でのデータ構造との対応関係について説明する。
以下に説明するように、半導体記憶装置1の記憶対象のデータは、例えば多次元の構造を有する。これに対して、半導体記憶装置1に記憶された状態では、これらのデータは例えば1つのワード線上に一次元に配列された構造を取る。
図3は、本開示の実施形態1にかかる半導体記憶装置1の記憶対象となるデータが有する構造の一例を示す図である。なお、図3を含め、以降の図においては、1つのマスが1ビットのデータを表すものとする。
図3に示すように、記憶対象となる元のデータは、例えばX軸およびY軸に沿って、マトリクス状に個々のデータが並ぶ2次元の構造を有している。このように、多次元構造を有するデータに対しては、任意の次元方向に隣接する複数のデータに、1回の読み出し動作、つまり、1回のアドレス指定で、適宜、一括してアクセスできることが望ましい。
すなわち、例えば図3の2次元構造を有するデータであれば、上述のように、実施形態1の半導体記憶装置1が4ビットのワード構成を有する場合において、X軸方向に並ぶ4ビットのデータ(例えば、図3の実線で囲まれたデータ)、及びY軸方向に並ぶ4ビットのデータ(例えば、図3の破線で囲まれたデータ)を任意に指定して、適宜、読み出し可能であることが望まれる。そこで、このような読み出し動作を可能とするための前提条件として、半導体記憶装置1においては、1つのワード線上に配列されるデータが例えば図4に示すような構造を取る。
図4は、本開示の実施形態1にかかる半導体記憶装置1の記憶対象データの配列順の対応関係を示す図である。図4の上段は、記憶対象データの元の配列を示しており、図4の下段は、半導体記憶装置1に記憶された状態でのデータの配列を示している。
図4の下段に示すように、半導体記憶装置1のメモリセルアレイ101内において、上記の2次元構造のデータは、ワード線に割り当てられた領域Aから領域Dまでの領域に振り分けられて各対応位置に配置される半導体記憶素子に記憶される。
なお、図4の下段に示すX及びYの番号は、元のデータのX軸上およびY軸上における配列位置を表している。また、図4の上段に示すデータ構造は、上述の図3に示すものと同様であるが、メモリセルアレイ101内におけるデータ配列との対応関係を示すため、個々のデータに、ワード線上の領域A~Dに対応する符号A~Dを割り付けた。
図4の例によれば、例えばX軸方向に隣接する4ビットのデータ、及びY軸方向に隣接する4ビットのデータはいずれも、それぞれ領域A~Dに均等に振り分けられる。そして、各領域において、同一位置に配置されるデータには同一のアドレスが付与される。換言すれば、各領域内の同一位置のデータにおいては、それらのデータのワード線上のアドレスが互いに等しい。各領域における同一位置のデータとは、各領域においてワード線上に配置される順番が等しいデータということである。ワード線上のアドレスとは、例えばワード線と交差するビット線の番号によって表される。
例えば、領域Aにおいてワード線と交差するビット線のうち、3番目のビット線に対応するデータ、つまり、ワード線上に3番目に配置されるデータと、領域Bにおいてワード線と交差するビット線のうち、3番目のビット線に対応するデータ、つまり、ワード線上に3番目に配置されるデータとは、各々の領域A,Bにおいて同一位置に配置されるデータ同士であり、ワード線上のアドレスが互いに同一である。
ワード線上に各データを上記のように配列することで、領域A~Dのそれぞれの領域から所定のデータを1つずつ抽出すれば、任意の次元方向に隣接する4ビットのデータを取得することができる。
ここで、任意の次元方向に隣接する4ビットのデータは、ワード線上において所定の周期で配列される。より具体的には、これらのデータは、領域A~Dにおけるワード線上のアドレス、つまり、ビット線番号が所定周期でずれていく。任意の次元方向に隣接するデータを得るには、領域A~Dのそれぞれの領域からデータを抽出する際、1ビット目のデータに対応するビット線番号を起点として、各領域において、その番号から所定周期ずつずらしたビット線番号に対応するデータを抽出すればよい。
実施形態1の半導体記憶装置1では、上述の加算器131~134は、領域A~Dのそれぞれに対応しており、自身に対応する領域内から読み出されたデータを取得する。
このとき、各々の加算器131~134に与えられるアドレス情報addrが、各領域においてデータを取得する際の起点となるワード線上のアドレス、つまり、ビット線番号を示している。そして、最初の加算器131を除く他の加算器132~134には信号aiが与えられる。信号aiには、データ取得の起点となるビット線番号に加算されるべき数値、つまり、起点となるビット線番号からのずれの周期が含まれる。
例えばデータ取得の起点となるビット線番号が、各領域においてワード線と交差するビット線のうち3番目を示すものであった場合、加算器131は、領域Aから読み出されたデータのうち、領域Aの3番目のビット線に対応するデータを取得する。
また、加算器132は、領域Bから読み出されたデータのうち、領域Bの3番目のビット線の番号に信号aiに含まれる数値を加算した番号のビット線に対応するデータを取得する。また、加算器133は、領域Cから読み出されたデータのうち、領域Cの3番目のビット線の番号に信号aiに含まれる数値を2回、加算した番号のビット線に対応するデータを取得する。また、加算器134は、領域Dから読み出されたデータのうち、領域Dの3番目のビット線の番号に信号aiに含まれる数値を3回、加算した番号のビット線に対応するデータを取得する。
(半導体記憶装置の読み出し動作の例)
次に、図5及び図6を用いて、半導体記憶装置1における読み出し動作について具体例を挙げて説明する。なお、以下の説明においては、所定のデータをX及びYの番号で示すことがある。これらの番号は、そのデータの元の2次元構造におけるX軸上およびY軸上の配列位置を示している。これらの番号が、ワード線上におけるアドレスを表すものではないことに注意されたい。
次に、図5及び図6を用いて、半導体記憶装置1における読み出し動作について具体例を挙げて説明する。なお、以下の説明においては、所定のデータをX及びYの番号で示すことがある。これらの番号は、そのデータの元の2次元構造におけるX軸上およびY軸上の配列位置を示している。これらの番号が、ワード線上におけるアドレスを表すものではないことに注意されたい。
図5は、本開示の実施形態1にかかる半導体記憶装置1におけるX軸方向に隣接する複数データの読み出し動作を示す図である。図5においては、各領域において読み出し動作の起点となるビット線番号が1番目のビット線であるものとする。その場合、図5に示す加算器131~134の動作に先駆けて以下の動作が行われる。
制御部111のアドレス生成回路111aは、読み出し動作対象の半導体記憶素子に接続されるワード線を示すロウアドレスを生成し、ロウデコーダ122に転送する。ロウデコーダ122は、ロウアドレスが示すワード線を選択して駆動させる。
また、アドレス生成回路111aは、読み出し動作の起点となるビット線を示すカラムアドレスを生成する。
制御部111の信号生成回路111bは、読み出し対象の複数データが隣接する次元方向に基づき、読み出し動作の起点となるビット線番号に加算されるべき数値を含む信号aiを生成する。図5において、読み出し対象の複数データはX軸方向に隣接するデータである。X軸方向に隣接するデータにおいては、各領域におけるワード線上のアドレスにずれは生じない。つまり、起点となるビット線番号からのずれの周期はゼロであり、信号aiに含まれる加算値はゼロとなる。
制御部111は、生成したカラムアドレス及び信号aiをカラムデコーダ121に転送する。
一方、センスアンプ/ライトアンプ123は所定のビット線を駆動させる。ここで駆動させるビット線は、実質的にはメモリセルアレイ101内の全ビット線であってよい。これにより、センスアンプ/ライトアンプ123は、ロウデコーダ122により選択された駆動ワード線上の全データを読み出す。
カラムデコーダ121は、制御部111から取得したカラムアドレスに基づき、各領域においてワード線と交差するビット線のうち、1番目のビット線を指定するビット線番号を含むアドレス情報addrを生成する。カラムデコーダ121は、生成したアドレス情報addrに信号aiを付加して加算器131~134へと転送する。
これ以降、図5に示す加算器131~134の動作が実行される。
図5に示すように、加算器131は、カラムデコーダ121から取得したアドレス情報addrに基づいて、領域Aから読み出されたデータ(X,Y)=(0,0)~(3,3)のうち、領域Aの1番目のビット線に対応するデータ(X,Y)=(0,0)を取得する。
加算器132は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Bから読み出されるべきデータのワード線上のアドレスを生成する。ここでは、領域Bの1番目のビット線を示す番号に、信号aiに含まれる加算値ゼロが加算されるため、領域Bから読み出されるべきデータに対応するビット線番号は1番目のビット線の番号のままである。加算器132は、領域Bから読み出されたデータ(X,Y)=(0,0)~(3,3)のうち、領域Bの1番目のビット線に対応するデータ(X,Y)=(0,0)を取得する。
加算器133は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Cから読み出されるべきデータのワード線上のアドレスを生成する。ここでは、領域Cの1番目のビット線を示す番号に、信号aiに含まれる加算値ゼロが2回、加算されるため、領域Cから読み出されるべきデータに対応するビット線番号は1番目のビット線の番号のままである。加算器133は、領域Cから読み出されたデータ(X,Y)=(0,0)~(3,3)のうち、領域Cの1番目のビット線に対応するデータ(X,Y)=(0,0)を取得する。
加算器134は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Dから読み出されるべきデータのワード線上のアドレスを生成する。ここでは、領域Dの1番目のビット線を示す番号に、信号aiに含まれる加算値ゼロが3回、加算されるため、領域Dから読み出されるべきデータに対応するビット線番号は1番目のビット線の番号のままである。加算器134は、領域Dから読み出されたデータ(X,Y)=(0,0)~(3,3)のうち、領域Dの1番目のビット線に対応するデータ(X,Y)=(0,0)を取得する。
以上により、(X,Y)=(0,0),(0,0),(0,0),(0,0)に対応する4ビットのデータが加算器131~134により取得される。図5の右上に示す元のデータ配列によれば、これらのデータは、X軸方向に隣接する4ビットのデータであることが判る。加算器131~134は、これらのデータを制御部111に転送する。
図6は、本開示の実施形態1にかかる半導体記憶装置1におけるY軸方向に隣接する複数データの読み出し動作を示す図である。
図6においても、各領域において読み出し動作の起点となるビット線番号が1番目のビット線であるものとする。その場合、図6に示す加算器131~134の動作に先駆けて、上述した動作と同様の動作が行われる。
ただし、図6において、読み出し対象データはY軸方向に隣接するデータである。Y軸方向に隣接するデータは、各領域におけるワード線上のアドレスが4つずつずれていく周期を有する。そこで、信号生成回路111bは、読み出し動作の起点となるビット線番号への加算値として4を含む信号aiを生成する。
図6に示すように、加算器131は、カラムデコーダ121から取得したアドレス情報addrに基づいて、領域Aから読み出されたデータ(X,Y)=(0,0)~(3,3)のうち、領域Aの1番目のビット線に対応するデータ(X,Y)=(0,0)を取得する。
加算器132は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Bの1番目のビット線を示す番号に、信号aiに含まれる加算値4を加算して、領域Bから読み出されるべきデータに対応するビット線番号として、5番目のビット線の番号を得る。加算器132は、領域Bから読み出されたデータ(X,Y)=(0,0)~(3,3)のうち、領域Bの5番目のビット線に対応するデータ(X,Y)=(0,1)を取得する。
加算器133は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Cの1番目のビット線を示す番号に、信号aiに含まれる加算値4を2回、加算して、領域Cから読み出されるべきデータに対応するビット線番号として、9番目のビット線の番号を得る。加算器133は、領域Cから読み出されたデータ(X,Y)=(0,0)~(3,3)のうち、領域Cの9番目のビット線に対応するデータ(X,Y)=(0,2)を取得する。
加算器134は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Dの1番目のビット線を示す番号に、信号aiに含まれる加算値4を3回、加算して、領域Dから読み出されるべきデータに対応するビット線番号として、13番目のビット線の番号を得る。加算器134は、領域Dから読み出されたデータ(X,Y)=(0,0)~(3,3)のうち、領域Dの13番目のビット線に対応するデータ(X,Y)=(0,3)を取得する。
以上により、(X,Y)=(0,0),(0,1),(0,2),(0,3)に対応する4ビットのデータが加算器131~134により取得される。図6の右上に示す元のデータ配列によれば、これらのデータは、Y軸方向に隣接する4ビットのデータであることが判る。加算器131~134は、これらのデータを制御部111に転送する。
なお、データの割り付け方法によっては、加算器131~134によるデータの読み出し順が、元のデータ配列とは異なることとなる場合がある。そのような場合には、上述の図示しないデータ配列変換回路等により、元のデータ配列順となるように読み出しデータの順番を入れ替えてもよい。
(半導体記憶装置の読み出し処理の例)
次に、図7を用いて、半導体記憶装置1における読み出し処理の例について説明する。図7は、本開示の実施形態1にかかる半導体記憶装置1における読み出し処理の手順の一例を示すフロー図である。
次に、図7を用いて、半導体記憶装置1における読み出し処理の例について説明する。図7は、本開示の実施形態1にかかる半導体記憶装置1における読み出し処理の手順の一例を示すフロー図である。
図7に示すように、制御部111のアドレス生成回路111aは、読み出し動作の起点となるデータのカラムアドレス及びロウアドレスを生成する(ステップS101)。
また、制御部111の信号生成回路111bは、読み出したい隣接データの次元方向に基づいて、信号aiを生成する(ステップS102)。例えば、元データが上述の図4に示す2次元構造を持つ場合であって、次元方向がX軸方向である場合には、加算値にゼロを含む信号aiを生成する。次元方向がY軸方向である場合には、加算値に4を含む信号aiを生成する。
制御部111は、生成したカラムアドレス及び信号aiをカラムデコーダ121に転送する。また、制御部111は、生成したロウアドレスをロウデコーダ122に転送する(ステップS103)。
ロウデコーダ122は、取得したロウアドレスに基づいて、それと対応するワード線を選択して駆動させる(ステップS104)。
センスアンプ/ライトアンプ123は、ロウデコーダ122が選択したワード線と交差するビット線(実施的に、メモリセルアレイ101内の全ビット線)を駆動させ、選択ワード線上のデータを全て読み出す(ステップS105)。
カラムデコーダ121は、取得したカラムアドレスに基づき、選択ワード線上のアドレスであるビット線番号を含むアドレス情報addrを生成する。カラムデコーダ121は、信号aiと共に、生成したアドレス情報addrを加算器131~134に転送する(ステップS106)。
1番目の加算器131は、取得したアドレス情報addrに基づき、領域Aの所定のビット線番号に対応するデータを、1ビット目のデータとして取得する(ステップS107)。
(n+1)番目の加算器は、取得したアドレス情報addrに含まれるビット線番号に、信号aiに含まれる加算値をn回、加算して、自身が取得すべき(n+1)番目のデータのワード線上のアドレスであるビット線番号を生成する(ステップS108)。
(n+1)番目の加算器は、自身に対応する領域から、得られたビット線番号に対応するデータを、(n+1)ビット目のデータとして取得する(ステップS109)。
(n+1)ビット目のデータが、取得すべき最後のデータでない場合には(ステップS110:No)、nの数が1つインクリメントされて(ステップS111)、ステップS108~S109の処理が繰り返される。
(n+1)ビット目のデータが、取得すべき最後のデータである場合には(ステップS110:Yes)、制御部111は処理を終了させる。
以上により、半導体記憶装置1における読み出し処理が終了する。
(比較例)
次に、図8を用いて、比較例の半導体記憶装置について説明する。図8は、比較例にかかる半導体記憶装置におけるY軸方向に隣接する複数データの読み出し動作を示す図である。
次に、図8を用いて、比較例の半導体記憶装置について説明する。図8は、比較例にかかる半導体記憶装置におけるY軸方向に隣接する複数データの読み出し動作を示す図である。
比較例の半導体記憶装置では、例えばX軸方向に隣接する4ビットのデータが同一アドレスを有している。これにより、比較例の半導体記憶装置では、1回のアドレス指定で、X軸方向に隣接する4ビットのデータ(例えば、(X,Y)=(0,0)等)を読み出し可能である。なお、1回のアドレス指定で複数データを読み出す動作をバースト動作などともいう。
しかしながら、このことは、比較例の半導体記憶装置では、読み出し可能な隣接データのワード構成が所定の次元方向に固定されていることを意味する。このため、比較例の半導体記憶装置から、例えばY軸方向に隣接する破線枠内の4ビットのデータ(X,Y)=(0,0),(0,1),(0,2),(0,3)を読み出そうとすると、図8に示すような以下の処理が必要となってしまう。
すなわち、1ビット目のデータ(X,Y)=(0,0)を読み出すために、1回目のアドレス指定を行って、X軸方向に隣接する4ビットのデータ(X,Y)=(0,0)を読み出す。
2ビット目のデータ(X,Y)=(0,1)を読み出すために、2回目のアドレス指定を行って、X軸方向に隣接する4ビットのデータ(X,Y)=(0,1)を読み出す。
3ビット目のデータ(X,Y)=(0,2)を読み出すために、3回目のアドレス指定を行って、X軸方向に隣接する4ビットのデータ(X,Y)=(0,2)を読み出す。
4ビット目のデータ(X,Y)=(0,3)を読み出すために、4回目のアドレス指定を行って、X軸方向に隣接する4ビットのデータ(X,Y)=(0,3)を読み出す。
以上により、Y軸方向に隣接する4ビットのデータが得られるが、それには4回のアドレス指定、つまり、例えば4クロック分の処理を要してしまう。また、必要な4ビットのデータ以外に、12ビットの余分なデータまでもが読み出されてしまう。
このように、比較例の半導体記憶装置では、読み出したい次元方向によっては、時間的および電力的に非効率となってしまう場合がある。
実施形態1の半導体記憶装置1によれば、加算器131~134が、読み出し対象の次元方向に隣接するデータのワード線上のアドレスを生成する。制御部111の信号生成回路111bは、上記アドレスの生成に必要な値を含む信号aiを生成する。これにより、任意の次元方向に隣接する複数のデータが、1回のアドレス指定、つまり、例えば1クロックの処理で読み出し可能となる。また、読み出し対象データ以外のデータが読み出される等、無駄なアクセスの発生を抑制することができる。
実施形態1の半導体記憶装置1によれば、上記構成を備えることにより、例えばニューラルネットワークに関わる演算において、入力データの保存用メモリ、及び係数保存用メモリ等に好適に適用され得る。
[実施形態2]
以下、図面を用いて実施形態2について説明する。実施形態2では、3次元構造を有するデータの処理について説明する。
以下、図面を用いて実施形態2について説明する。実施形態2では、3次元構造を有するデータの処理について説明する。
(半導体記憶装置のデータ構造の例)
図9は、本開示の実施形態2にかかる半導体記憶装置1の記憶対象データの配列順の対応関係を示す図である。図9の上段は、記憶対象データの元の配列を示しており、図9の中段は、記憶対象データをラスタ状に配列したものを示しており、図9の下段は、半導体記憶装置1に記憶された状態でのデータの配列を示している。
図9は、本開示の実施形態2にかかる半導体記憶装置1の記憶対象データの配列順の対応関係を示す図である。図9の上段は、記憶対象データの元の配列を示しており、図9の中段は、記憶対象データをラスタ状に配列したものを示しており、図9の下段は、半導体記憶装置1に記憶された状態でのデータの配列を示している。
図9の上段に示すように、実施形態2においては、半導体記憶装置1の記憶対象となる元のデータは、例えば3次元構造を有している。図9の上段の図においては、3次元データを表すキューブを構成する個々のブロックが、1ビットずつのデータを表している。図中に示す数値は、X軸上、Y軸上、及びZ軸上における各データの配列位置を示す。キューブを構成する個々のブロックに付された符号A~Dは、これらのデータが、半導体記憶装置1のワード線上の領域A~Dのうち、いずれの領域に振り分けられるかを例示している。
半導体記憶装置1では、このような3次元構造のデータについても、任意の次元方向(X軸方向、Y軸方向、及びZ軸方向)に隣接する複数データに、1回のアドレス指定で一括してアクセスすることができる。そのような読み出し動作の前提として、半導体記憶装置1に記憶された状態で、これらのデータは例えば図9の下段に示すような構造を取ることができる。
図9の中段には、元のデータ配列と、半導体記憶装置1内でのデータ配列との対応関係が把握しやすいよう、元のデータをラスタ状に配列したものを示す。つまり、図9の中段は、データX=0からデータX=3まで並べるごとにY軸方向へ1つずつずれていき、データY=0からデータY=3まで到達したらZ軸方向へ1つずれる、という手順によって、各データを並べたものである。
図9の下段に示すように、X軸方向に隣接する4ビットのデータ、Y軸方向に隣接する4ビットのデータ、及びZ軸方向に隣接する4ビットのデータはいずれも、それぞれ領域A~Dに均等に振り分けられる。そして、各領域内において同一位置に配置されるデータには、例えば同一のアドレスが付与される。
(半導体記憶装置の読み出し動作の例)
次に、図10~図12を用いて、半導体記憶装置1における読み出し動作について説明する。なお、以下の説明においては、所定のデータをX、Y、及びZの番号で示すことがある。これらの番号は、そのデータの元の3次元構造におけるX軸上、Y軸上、及びZ軸上の配列位置を示している。
次に、図10~図12を用いて、半導体記憶装置1における読み出し動作について説明する。なお、以下の説明においては、所定のデータをX、Y、及びZの番号で示すことがある。これらの番号は、そのデータの元の3次元構造におけるX軸上、Y軸上、及びZ軸上の配列位置を示している。
図10は、本開示の実施形態2にかかる半導体記憶装置1におけるX軸方向に隣接する複数データの読み出し動作を示す図である。図10においては、各領域において読み出し動作の起点となるビット線番号が1番目のビット線であるものとする。
図10に示す加算器131~134の動作に先駆けて、制御部111により、カラムアドレス、ロウアドレス、及び信号aiが生成され、カラムデコーダ121及びロウデコーダ122に転送され、センスアンプ/ライトアンプ123による所定のワード線上の全データが取得される。
なお、図10において、読み出し対象データはX軸方向に隣接するデータである。X軸方向に隣接するデータは、ワード線上のアドレスが各領域において変化しない。そこで、信号生成回路111bは、読み出し動作の起点となるビット線番号への加算値としてゼロを含む信号aiを生成する。
図10に示すように、加算器131は、カラムデコーダ121から取得したアドレス情報addrに基づいて、領域Aから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Aの1番目のビット線に対応するデータ(X,Y,Z)=(0,0,0)を取得する。
加算器132は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Bの1番目のビット線を示す番号に、信号aiに含まれる加算値ゼロを加算して、領域Bから読み出されるべきデータに対応するビット線番号として、1番目のビット線の番号を得る。加算器132は、領域Bから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Bの1番目のビット線に対応するデータ(X,Y,Z)=(1,0,0)を取得する。
加算器133は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Cの1番目のビット線を示す番号に、信号aiに含まれる加算値ゼロを2回、加算して、領域Cから読み出されるべきデータに対応するビット線番号として、1番目のビット線の番号を得る。加算器133は、領域Cから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Cの1番目のビット線に対応するデータ(X,Y,Z)=(2,0,0)を取得する。
加算器134は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Dの1番目のビット線を示す番号に、信号aiに含まれる加算値ゼロを3回、加算して、領域Dから読み出されるべきデータに対応するビット線番号として、1番目のビット線の番号を得る。加算器134は、領域Dから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Dの1番目のビット線に対応するデータ(X,Y,Z)=(3,0,0)を取得する。
以上により、(X,Y,Z)=(0,0,0),(1,0,0),(2,0,0),(3,0,0)に対応する4ビットのデータが加算器131~134により取得される。加算器131~134は、これらのデータを制御部111に転送する。
図10の右上に、元のデータ配列を表したキューブを示す。キューブを構成する個々のブロックには、図9における符号A~Dに替えて、上記のように取得されたデータの位置が把握しやすいよう、X軸上、Y軸上、及びZ軸上における各データの配列位置を示す番号を付した。図10の右上の図によれば、上記のように取得されたデータが、X軸方向に隣接する4ビットのデータであることが判る。
図11は、本開示の実施形態2にかかる半導体記憶装置1におけるY軸方向に隣接する複数データの読み出し動作を示す図である。
図11においても、各領域において読み出し動作の起点となるビット線番号が1番目のビット線であるものとする。図11に示す加算器131~134の動作に先駆けて、上述した動作と同様の動作が行われる。
なお、図11において、読み出し対象データはY軸方向に隣接するデータである。Y軸方向に隣接するデータは、各領域におけるワード線上のアドレスが1つずつずれていく周期を有する。そこで、信号生成回路111bは、読み出し動作の起点となるビット線番号への加算値として1を含む信号aiを生成する。
図11に示すように、加算器131は、カラムデコーダ121から取得したアドレス情報addrに基づいて、領域Aから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Aの1番目のビット線に対応するデータ(X,Y,Z)=(0,0,0)を取得する。
加算器132は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Bの1番目のビット線を示す番号に、信号aiに含まれる加算値1を加算して、領域Bから読み出されるべきデータに対応するビット線番号として、2番目のビット線の番号を得る。加算器132は、領域Bから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Bの2番目のビット線に対応するデータ(X,Y,Z)=(0,1,0)を取得する。
加算器133は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Cの1番目のビット線を示す番号に、信号aiに含まれる加算値1を2回、加算して、領域Cから読み出されるべきデータに対応するビット線番号として、3番目のビット線の番号を得る。加算器133は、領域Cから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Cの3番目のビット線に対応するデータ(X,Y,Z)=(0,2,0)を取得する。
加算器134は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Dの1番目のビット線を示す番号に、信号aiに含まれる加算値1を3回、加算して、領域Dから読み出されるべきデータに対応するビット線番号として、4番目のビット線の番号を得る。加算器134は、領域Dから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Dの4番目のビット線に対応するデータ(X,Y,Z)=(0,3,0)を取得する。
以上により、(X,Y,Z)=(0,0,0),(0,1,0),(0,2,0),(0,3,0)に対応する4ビットのデータが加算器131~134により取得される。加算器131~134は、これらのデータを制御部111に転送する。
図11の右上に、元のデータ配列を表したキューブを示す。図11の右上の図によれば、上記のように取得されたデータが、Y軸方向に隣接する4ビットのデータであることが判る。
図12は、本開示の実施形態2にかかる半導体記憶装置1におけるZ軸方向に隣接する複数データの読み出し動作を示す図である。
図12においても、各領域において読み出し動作の起点となるビット線番号が1番目のビット線であるものとする。図12に示す加算器131~134の動作に先駆けて、上述した動作と同様の動作が行われる。
なお、図12において、読み出し対象データはZ軸方向に隣接するデータである。Z軸方向に隣接するデータは、各領域におけるワード線上のアドレスが4つずつずれていく周期を有する。そこで、信号生成回路111bは、読み出し動作の起点となるビット線番号への加算値として4を含む信号aiを生成する。
図12に示すように、加算器131は、カラムデコーダ121から取得したアドレス情報addrに基づいて、領域Aから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Aの1番目のビット線に対応するデータ(X,Y,Z)=(0,0,0)を取得する。
加算器132は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Bの1番目のビット線を示す番号に、信号aiに含まれる加算値4を加算して、領域Bから読み出されるべきデータに対応するビット線番号として、5番目のビット線の番号を得る。加算器132は、領域Bから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Bの5番目のビット線に対応するデータ(X,Y,Z)=(0,0,1)を取得する。
加算器133は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Cの1番目のビット線を示す番号に、信号aiに含まれる加算値4を2回、加算して、領域Cから読み出されるべきデータに対応するビット線番号として、9番目のビット線の番号を得る。加算器133は、領域Cから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Cの9番目のビット線に対応するデータ(X,Y,Z)=(0,0,2)を取得する。
加算器134は、カラムデコーダ121から取得したアドレス情報addr及び信号aiに基づいて、領域Dの1番目のビット線を示す番号に、信号aiに含まれる加算値4を3回、加算して、領域Dから読み出されるべきデータに対応するビット線番号として、13番目のビット線の番号を得る。加算器134は、領域Dから読み出されたデータ(X,Y,Z)=(0,0,0)~(3,3,3)のうち、領域Dの13番目のビット線に対応するデータ(X,Y,Z)=(0,0,3)を取得する。
以上により、(X,Y,Z)=(0,0,0),(0,0,1),(0,0,2),(0,0,3)に対応する4ビットのデータが加算器131~134により取得される。加算器131~134は、これらのデータを制御部111に転送する。
図12の右上に、元のデータ配列を表したキューブを示す。図12の右上の図によれば、上記のように取得されたデータが、Z軸方向に隣接する4ビットのデータであることが判る。
実施形態2によれば、半導体記憶装置1は、3次元構造を有するデータについても、任意の次元方向に隣接するデータを1回のアドレス指定で一括して読み出すことができる。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また他の効果があってもよい。
[その他の実施形態]
上述の実施形態1~2において、2次元構造および3次元構造を有するデータをワード線上に1次元に配列する手法について説明した。しかしながら、これらのデータのワード線上への配列手法は上記に説明したものに限られない。3次元構造のデータの配列手法に関する一例として、図9とは異なる手法を図13に示す。
上述の実施形態1~2において、2次元構造および3次元構造を有するデータをワード線上に1次元に配列する手法について説明した。しかしながら、これらのデータのワード線上への配列手法は上記に説明したものに限られない。3次元構造のデータの配列手法に関する一例として、図9とは異なる手法を図13に示す。
図13は、本開示の他の実施形態にかかる半導体記憶装置の記憶対象データの配列順を示す図である。図13に示すように、3次元データを表すキューブを構成する個々のブロックには、図9とは異なる配置で符号A~Dが付されている。例えば図13に付された符号A~Dにしたがって、各データを領域A~Dに配列することによっても、任意の次元方向に読み出し可能なデータ構造とすることができる。
このように、元のデータをワード線上に配列する手法には様々なバリエーションが存在しうる。
上述の実施形態1~2において、2次元構造および3次元構造を有するデータについて、任意の次元方向に隣接するデータを読み出す手法について説明した。しかしながら、元のデータが4次元以上の多次元構造を有していてもよい。それぞれの次元方向に隣接するデータを、各領域に均等に振り分けたうえで、上記の加算器131~134により、信号aiに基づく演算を行わせることで、任意の次元方向に隣接するデータの読み出しが可能となる。
上述の実施形態1~2において、任意の次元方向に隣接するデータのワード線上のアドレスを加算器131~134により生成することとした。しかしながら、ワード線上のアドレスを減算器等の他の演算を行う演算回路によって生成してもよい。
なお、本技術は以下のような構成も取ることができる。
(1)
多次元の構造を有するデータがワード線上に一次元に配列されたメモリセルアレイと、
前記メモリセルアレイから、任意の次元方向に隣接する複数のデータを1回のアドレス指定で読み出し可能なコントローラと、を備え、
前記コントローラは、
読み出し動作の起点となる前記ワード線上のアドレスを生成するアドレス生成回路と、
生成された前記アドレスに所定の演算を施して、読み出し対象の次元方向に隣接するデータの前記ワード線上のアドレスを生成する演算回路と、
前記演算に用いる値を含む信号を生成する信号生成回路と、を備える、
半導体記憶装置。
(2)
任意の次元方向に隣接する前記複数のデータは、所定の周期で前記ワード線上に配列される、
前記(1)に記載の半導体記憶装置。
(3)
前記信号生成回路は、
前記複数のデータの前記ワード線上における周期を含む信号を生成し、
前記演算回路は、
生成された前記アドレスに前記周期を用いた演算を施して、読み出し対象の次元方向に隣接する前記データの前記アドレスを生成する、
前記(2)に記載の半導体記憶装置。
(4)
前記演算回路は、前記値を前記アドレスに加算する加算回路である、
前記(1)乃至(3)のいずれかに記載の半導体記憶装置。
(5)
前記演算回路は、前記値を前記アドレスから減算する減算回路である、
前記(1)乃至(3)のいずれかに記載の半導体記憶装置。
(6)
前記データはnビットのワード構成を有し、
第1の次元方向に隣接する複数のデータの前記ワード線上における周期は0であり、
前記第1の次元方向と直交する第2の次元方向に隣接する複数のデータの前記ワード線上における周期はnである、
前記(2)に記載の半導体記憶装置。
(7)
前記データは2次元の構造を有する、
前記(6)に記載の半導体記憶装置。
(8)
前記第1の次元方向と前記第2の次元方向とに直交する第3の次元方向に隣接する複数のデータの前記ワード線上における周期は1である、
前記(6)に記載の半導体記憶装置。
(9)
前記データは3次元の構造を有する、
前記(8)に記載の半導体記憶装置。
(10)
多次元の構造を有するデータがワード線上に一次元に配列されたメモリセルアレイから、任意の次元方向に隣接する複数のデータを1回のアドレス指定で読み出し可能なコントローラであって、
読み出し動作の起点となる前記ワード線上のアドレスを生成するアドレス生成回路と、
生成された前記アドレスに所定の演算を施して、読み出し対象の次元方向に隣接するデータの前記ワード線上のアドレスを生成する演算回路と、
前記演算に用いる値を含む信号を生成する信号生成回路と、を備える、
コントローラ。
(11)
任意の次元方向に隣接する前記複数のデータは、所定の周期で前記ワード線上に配列される、
前記(10)に記載のコントローラ。
(12)
前記信号生成回路は、
前記複数のデータの前記ワード線上における周期を含む信号を生成し、
前記演算回路は、
生成された前記アドレスに前記周期を用いた演算を施して、読み出し対象の次元方向に隣接する前記データの前記アドレスを生成する、
前記(11)に記載のコントローラ。
(13)
前記演算回路は、前記値を前記アドレスに加算する加算回路である、
前記(10)乃至(12)のいずれかに記載のコントローラ。
(14)
前記演算回路は、前記値を前記アドレスから減算する減算回路である、
前記(10)乃至(12)のいずれかに記載のコントローラ。
(15)
前記データはnビットのワード構成を有し、
第1の次元方向に隣接する複数のデータの前記ワード線上における周期は0であり、
前記第1の次元方向と直交する第2の次元方向に隣接する複数のデータの前記ワード線上における周期はnである、
前記(11)に記載のコントローラ。
(16)
前記データは2次元の構造を有する、
前記(15)に記載のコントローラ。
(17)
前記第1の次元方向と前記第2の次元方向とに直交する第3の次元方向に隣接する複数のデータの前記ワード線上における周期は1である、
前記(15)に記載のコントローラ。
(18)
前記データは3次元の構造を有する、
前記(17)に記載のコントローラ。
(19)
多次元の構造を有するデータがワード線上に一次元に配列されたメモリセルアレイから、任意の次元方向に隣接する複数のデータを1回のアドレス指定で読み出す方法であって、
読み出し動作の起点となる前記ワード線上のアドレスを生成し、
生成された前記アドレスに所定の演算を施して、読み出し対象の次元方向に隣接するデータのアドレスを生成し、
読み出し対象の次元方向に関する値を含む信号を生成し、
生成された前記アドレスに前記値を用いた演算を施して、読み出し対象の次元方向に隣接するデータのアドレスを生成する、
方法。
(1)
多次元の構造を有するデータがワード線上に一次元に配列されたメモリセルアレイと、
前記メモリセルアレイから、任意の次元方向に隣接する複数のデータを1回のアドレス指定で読み出し可能なコントローラと、を備え、
前記コントローラは、
読み出し動作の起点となる前記ワード線上のアドレスを生成するアドレス生成回路と、
生成された前記アドレスに所定の演算を施して、読み出し対象の次元方向に隣接するデータの前記ワード線上のアドレスを生成する演算回路と、
前記演算に用いる値を含む信号を生成する信号生成回路と、を備える、
半導体記憶装置。
(2)
任意の次元方向に隣接する前記複数のデータは、所定の周期で前記ワード線上に配列される、
前記(1)に記載の半導体記憶装置。
(3)
前記信号生成回路は、
前記複数のデータの前記ワード線上における周期を含む信号を生成し、
前記演算回路は、
生成された前記アドレスに前記周期を用いた演算を施して、読み出し対象の次元方向に隣接する前記データの前記アドレスを生成する、
前記(2)に記載の半導体記憶装置。
(4)
前記演算回路は、前記値を前記アドレスに加算する加算回路である、
前記(1)乃至(3)のいずれかに記載の半導体記憶装置。
(5)
前記演算回路は、前記値を前記アドレスから減算する減算回路である、
前記(1)乃至(3)のいずれかに記載の半導体記憶装置。
(6)
前記データはnビットのワード構成を有し、
第1の次元方向に隣接する複数のデータの前記ワード線上における周期は0であり、
前記第1の次元方向と直交する第2の次元方向に隣接する複数のデータの前記ワード線上における周期はnである、
前記(2)に記載の半導体記憶装置。
(7)
前記データは2次元の構造を有する、
前記(6)に記載の半導体記憶装置。
(8)
前記第1の次元方向と前記第2の次元方向とに直交する第3の次元方向に隣接する複数のデータの前記ワード線上における周期は1である、
前記(6)に記載の半導体記憶装置。
(9)
前記データは3次元の構造を有する、
前記(8)に記載の半導体記憶装置。
(10)
多次元の構造を有するデータがワード線上に一次元に配列されたメモリセルアレイから、任意の次元方向に隣接する複数のデータを1回のアドレス指定で読み出し可能なコントローラであって、
読み出し動作の起点となる前記ワード線上のアドレスを生成するアドレス生成回路と、
生成された前記アドレスに所定の演算を施して、読み出し対象の次元方向に隣接するデータの前記ワード線上のアドレスを生成する演算回路と、
前記演算に用いる値を含む信号を生成する信号生成回路と、を備える、
コントローラ。
(11)
任意の次元方向に隣接する前記複数のデータは、所定の周期で前記ワード線上に配列される、
前記(10)に記載のコントローラ。
(12)
前記信号生成回路は、
前記複数のデータの前記ワード線上における周期を含む信号を生成し、
前記演算回路は、
生成された前記アドレスに前記周期を用いた演算を施して、読み出し対象の次元方向に隣接する前記データの前記アドレスを生成する、
前記(11)に記載のコントローラ。
(13)
前記演算回路は、前記値を前記アドレスに加算する加算回路である、
前記(10)乃至(12)のいずれかに記載のコントローラ。
(14)
前記演算回路は、前記値を前記アドレスから減算する減算回路である、
前記(10)乃至(12)のいずれかに記載のコントローラ。
(15)
前記データはnビットのワード構成を有し、
第1の次元方向に隣接する複数のデータの前記ワード線上における周期は0であり、
前記第1の次元方向と直交する第2の次元方向に隣接する複数のデータの前記ワード線上における周期はnである、
前記(11)に記載のコントローラ。
(16)
前記データは2次元の構造を有する、
前記(15)に記載のコントローラ。
(17)
前記第1の次元方向と前記第2の次元方向とに直交する第3の次元方向に隣接する複数のデータの前記ワード線上における周期は1である、
前記(15)に記載のコントローラ。
(18)
前記データは3次元の構造を有する、
前記(17)に記載のコントローラ。
(19)
多次元の構造を有するデータがワード線上に一次元に配列されたメモリセルアレイから、任意の次元方向に隣接する複数のデータを1回のアドレス指定で読み出す方法であって、
読み出し動作の起点となる前記ワード線上のアドレスを生成し、
生成された前記アドレスに所定の演算を施して、読み出し対象の次元方向に隣接するデータのアドレスを生成し、
読み出し対象の次元方向に関する値を含む信号を生成し、
生成された前記アドレスに前記値を用いた演算を施して、読み出し対象の次元方向に隣接するデータのアドレスを生成する、
方法。
1 半導体記憶装置
100 バンク
101 メモリセルアレイ
110 メモリコントローラ
111 制御部
111a アドレス生成回路
111b 信号生成回路
121 カラムデコーダ
122 ロウデコーダ
123 センスアンプ/ライトアンプ
131~134 加算器
BL ビット線
MC 半導体記憶素子
WL ワード線
100 バンク
101 メモリセルアレイ
110 メモリコントローラ
111 制御部
111a アドレス生成回路
111b 信号生成回路
121 カラムデコーダ
122 ロウデコーダ
123 センスアンプ/ライトアンプ
131~134 加算器
BL ビット線
MC 半導体記憶素子
WL ワード線
Claims (19)
- 多次元の構造を有するデータがワード線上に一次元に配列されたメモリセルアレイと、
前記メモリセルアレイから、任意の次元方向に隣接する複数のデータを1回のアドレス指定で読み出し可能なコントローラと、を備え、
前記コントローラは、
読み出し動作の起点となる前記ワード線上のアドレスを生成するアドレス生成回路と、
生成された前記アドレスに所定の演算を施して、読み出し対象の次元方向に隣接するデータの前記ワード線上のアドレスを生成する演算回路と、
前記演算に用いる値を含む信号を生成する信号生成回路と、を備える、
半導体記憶装置。 - 任意の次元方向に隣接する前記複数のデータは、所定の周期で前記ワード線上に配列される、
請求項1に記載の半導体記憶装置。 - 前記信号生成回路は、
前記複数のデータの前記ワード線上における周期を含む信号を生成し、
前記演算回路は、
生成された前記アドレスに前記周期を用いた演算を施して、読み出し対象の次元方向に隣接する前記データの前記アドレスを生成する、
請求項2に記載の半導体記憶装置。 - 前記演算回路は、前記値を前記アドレスに加算する加算回路である、
請求項1に記載の半導体記憶装置。 - 前記演算回路は、前記値を前記アドレスから減算する減算回路である、
請求項1に記載の半導体記憶装置。 - 前記データはnビットのワード構成を有し、
第1の次元方向に隣接する複数のデータの前記ワード線上における周期は0であり、
前記第1の次元方向と直交する第2の次元方向に隣接する複数のデータの前記ワード線上における周期はnである、
請求項2に記載の半導体記憶装置。 - 前記データは2次元の構造を有する、
請求項6に記載の半導体記憶装置。 - 前記第1の次元方向と前記第2の次元方向とに直交する第3の次元方向に隣接する複数のデータの前記ワード線上における周期は1である、
請求項6に記載の半導体記憶装置。 - 前記データは3次元の構造を有する、
請求項8に記載の半導体記憶装置。 - 多次元の構造を有するデータがワード線上に一次元に配列されたメモリセルアレイから、任意の次元方向に隣接する複数のデータを1回のアドレス指定で読み出し可能なコントローラであって、
読み出し動作の起点となる前記ワード線上のアドレスを生成するアドレス生成回路と、
生成された前記アドレスに所定の演算を施して、読み出し対象の次元方向に隣接するデータの前記ワード線上のアドレスを生成する演算回路と、
前記演算に用いる値を含む信号を生成する信号生成回路と、を備える、
コントローラ。 - 任意の次元方向に隣接する前記複数のデータは、所定の周期で前記ワード線上に配列される、
請求項10に記載のコントローラ。 - 前記信号生成回路は、
前記複数のデータの前記ワード線上における周期を含む信号を生成し、
前記演算回路は、
生成された前記アドレスに前記周期を用いた演算を施して、読み出し対象の次元方向に隣接する前記データの前記アドレスを生成する、
請求項11に記載のコントローラ。 - 前記演算回路は、前記値を前記アドレスに加算する加算回路である、
請求項10に記載のコントローラ。 - 前記演算回路は、前記値を前記アドレスから減算する減算回路である、
請求項10に記載のコントローラ。 - 前記データはnビットのワード構成を有し、
第1の次元方向に隣接する複数のデータの前記ワード線上における周期は0であり、
前記第1の次元方向と直交する第2の次元方向に隣接する複数のデータの前記ワード線上における周期はnである、
請求項11に記載のコントローラ。 - 前記データは2次元の構造を有する、
請求項15に記載のコントローラ。 - 前記第1の次元方向と前記第2の次元方向とに直交する第3の次元方向に隣接する複数のデータの前記ワード線上における周期は1である、
請求項15に記載のコントローラ。 - 前記データは3次元の構造を有する、
請求項17に記載のコントローラ。 - 多次元の構造を有するデータがワード線上に一次元に配列されたメモリセルアレイから、任意の次元方向に隣接する複数のデータを1回のアドレス指定で読み出す方法であって、
読み出し動作の起点となる前記ワード線上のアドレスを生成し、
生成された前記アドレスに所定の演算を施して、読み出し対象の次元方向に隣接するデータのアドレスを生成し、
読み出し対象の次元方向に関する値を含む信号を生成し、
生成された前記アドレスに前記値を用いた演算を施して、読み出し対象の次元方向に隣接するデータのアドレスを生成する、
方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020009260A JP7427972B2 (ja) | 2020-01-23 | 2020-01-23 | 半導体記憶装置、コントローラ、及び方法 |
PCT/JP2021/001236 WO2021149611A1 (ja) | 2020-01-23 | 2021-01-15 | 半導体記憶装置、コントローラ、及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020009260A JP7427972B2 (ja) | 2020-01-23 | 2020-01-23 | 半導体記憶装置、コントローラ、及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021117594A JP2021117594A (ja) | 2021-08-10 |
JP7427972B2 true JP7427972B2 (ja) | 2024-02-06 |
Family
ID=76992859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020009260A Active JP7427972B2 (ja) | 2020-01-23 | 2020-01-23 | 半導体記憶装置、コントローラ、及び方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7427972B2 (ja) |
WO (1) | WO2021149611A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003168287A (ja) | 2001-07-24 | 2003-06-13 | Toshiba Corp | メモリモジュール、メモリシステム、および、データ転送方法 |
JP7319763B2 (ja) | 2018-06-19 | 2023-08-02 | ケイミュー株式会社 | 耐火構造 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07319763A (ja) * | 1994-05-27 | 1995-12-08 | Fuji Photo Film Co Ltd | アドレス変換装置 |
-
2020
- 2020-01-23 JP JP2020009260A patent/JP7427972B2/ja active Active
-
2021
- 2021-01-15 WO PCT/JP2021/001236 patent/WO2021149611A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003168287A (ja) | 2001-07-24 | 2003-06-13 | Toshiba Corp | メモリモジュール、メモリシステム、および、データ転送方法 |
JP7319763B2 (ja) | 2018-06-19 | 2023-08-02 | ケイミュー株式会社 | 耐火構造 |
Also Published As
Publication number | Publication date |
---|---|
JP2021117594A (ja) | 2021-08-10 |
WO2021149611A1 (ja) | 2021-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3106998B2 (ja) | メモリ付加型プログラマブルロジックlsi | |
JP4388772B2 (ja) | 複合型メモリ装置 | |
US20230326500A1 (en) | Memory device, semiconductor system, and data processing system | |
WO2012059121A1 (en) | Memory arrangement for accessing matrices | |
JPS58196671A (ja) | 半導体記憶素子 | |
EP3038109B1 (en) | Pseudo dual port memory using a dual port cell and a single port cell with associated valid data bits and related methods | |
US7907473B2 (en) | Semiconductor memory device and data storage method including address conversion circuit to convert coordinate information of data into one-dimensional information to amplifier | |
JP4001724B2 (ja) | 半導体記憶装置 | |
JP7427972B2 (ja) | 半導体記憶装置、コントローラ、及び方法 | |
US5383160A (en) | Dynamic random access memory | |
WO2013094389A1 (ja) | 画像処理装置 | |
JP5133073B2 (ja) | 半導体記憶装置及びデータの格納方法 | |
JP5059330B2 (ja) | メモリアドレス生成回路及びそれを備えるメモリコントローラ | |
US6925543B2 (en) | Burst transfer memory | |
US20220100941A1 (en) | Memory device with programmable circuitry | |
JPH0419896A (ja) | ダイナミックメモリのリフレッシュ方法 | |
JPH04147493A (ja) | 半導体メモリ | |
KR102216625B1 (ko) | 전치 읽기를 지원하는 sram 셀 및 그를 이용한 sram | |
KR100789198B1 (ko) | 반도체 메모리의 동작 제어 방법 및 반도체 메모리 | |
CN110728367B (zh) | 用于神经网络的数据存储方法及装置 | |
JP2567177B2 (ja) | 半導体記憶装置 | |
JPS61121084A (ja) | メモリのアクセス方式 | |
JPS60182098A (ja) | リフレツシユ制御方式 | |
JP4821410B2 (ja) | メモリ制御方法、メモリ制御装置、画像処理装置およびプログラム | |
JPH09231745A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230113 |
|
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: 20231226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240108 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7427972 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |