(57)【要約】【課題】半導体メモリチップの動作並列数を減らしても、誤り訂正可能数を減らさずに維持することができるようにする。【解決手段】半導体メモリ蓄積装置は、エンコーダ１０で素材データを圧縮し、リード・ソロモン訂正符号を付加してメモリユニット２０へ出力する。メモリユニット２０は、エンコーダ１０からの圧縮データの転送順序に従い、圧縮データを並び替え、１列目の配列方向と２列目の配列方向を反対方向にする。そして、並び替えた圧縮データを対応する半導体メモリチップ２３−１〜２３−２５６に書き込む。半導体メモリチップ２３−１〜２３−２５６から読み出された圧縮データは、元の転送順序に戻され、デコーダで誤り訂正され、出力される。【選択図】      図２
2009043076.tif 000002
【特許請求の範囲】
【請求項１】
入力される素材データを規定のデータレートで順次圧縮すると共に、各圧縮データにそれぞれ誤り訂正符号を付加する入力処理部と、
メモリチップの動作並列数に対応する大きさのブロック単位で書き込み・読み出しが可能な不揮発性メモリを備え、前記入力処理部からの圧縮データを前記ブロック単位で前記不揮発性メモリに書き込むメモリユニットと、
前記不揮発性メモリから前記ブロック単位で読み出された圧縮データに前記誤り訂正符号によるエラー訂正を施すと共に、当該圧縮データを復号して出力する出力処理部と
を具備し、
前記メモリユニットは、
前記入力処理部から単位容量で順次転送される圧縮データを、転送順序に従って前記単位容量で前記動作並列数と同数分配列し、前記動作並列数を超えたとき、その余剰分を前記転送順序で前記配列とは逆の方向に配列することによって並べ替える手段と、
前記単位容量で並べ替えられた圧縮データを、前記配列と対応する前記複数のメモリチップにそれぞれ書き込む手段と、
前記複数のメモリチップから前記並べ替えられた圧縮データを読み出す手段と、
前記複数のメモリチップから読み出された圧縮データを元の転送順序に戻す手段と
をさらに備えることを特徴とする半導体メモリ蓄積装置。
【請求項２】
前記誤り訂正符号は、リード・ソロモン訂正符号であることを特徴とする請求項１に記載の半導体メモリ蓄積装置。
【請求項３】
入力される素材データを規定のデータレートで順次圧縮すると共に、各圧縮データにそれぞれ誤り訂正符号を付加する入力処理部と、メモリチップの動作並列数に対応する大きさのブロック単位で書き込み・読み出しが可能な不揮発性メモリを備え、前記入力処理部からの圧縮データを前記ブロック単位で前記不揮発性メモリに書き込むメモリユニットと、前記不揮発性メモリから前記ブロック単位で読み出された圧縮データに前記誤り訂正符号によるエラー訂正を施すと共に、当該圧縮データを復号して出力する出力処理部とを具備する半導体メモリ蓄積装置に用いられ、
前記メモリユニットは、
前記入力処理部から単位容量で順次転送される圧縮データを、転送順序に従って前記単位容量で前記動作並列数と同数分配列し、前記動作並列数を超えたとき、その余剰分を前記転送順序で前記配列とは逆の方向に配列することによって並べ替え、
前記単位容量で並べ替えられた圧縮データを、前記配列と対応する前記複数のメモリチップにそれぞれ書き込み、
前記複数のメモリチップから前記並べ替えられた圧縮データを読み出し、
前記複数のメモリチップから読み出された圧縮データを元の転送順序に戻すことを特徴とする半導体メモリ蓄積装置の蓄積制御方法。
【請求項４】
前記誤り訂正符号は、リード・ソロモン訂正符号であることを特徴とする請求項３に記載の半導体メモリ蓄積装置の蓄積制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリに素材データ等を蓄積する半導体メモリ蓄積装置に係り、特に素材データの半導体メモリへの蓄積制御方法に関する。
【背景技術】
【０００２】
記録媒体に半導体メモリを採用した半導体メモリ蓄積装置では、メモリユニット上に半導体メモリチップを複数個搭載することにより、大容量かつ高速な映像・音声データの収録および再生を実現している。
【０００３】
半導体メモリ蓄積装置では、素材データをエンコーダで圧縮してメモリユニットに書き込み、読み出し時には、メモリユニットから読み出された圧縮データをデコーダで復号して出力する。この書き込み、読み出しの際のエンコーダ−メモリユニット間及びメモリユニット−デコーダ間におけるデータ転送時のデータエラー、又は半導体メモリチップの故障を想定し、一般に半導体メモリ蓄積装置は、エンコーダにおいてリード・ソロモン訂正符号を圧縮データに付加するようにしている。
【０００４】
ところで、リード・ソロモン訂正符号が付加されたデータを１バイトずつそれぞれ異なる半導体メモリチップに書き込む場合、半導体メモリチップの故障に対する誤り訂正可能数は最大となる。しかしながら、このとき、メモリユニットの書き込み・読み出し単位であるブロックサイズも増加することになり、メモリユニット１枚辺りの素材データ収録可能数が少なくなってしまう。また、素材データ収録可能数を確保するため、動作並列数を小さく設定すると、１つの半導体メモリチップに２バイト以上のデータが書き込まれる。これにより、半導体メモリチップが１つ故障すると、２バイト以上のデータが破壊され、その破壊されたデータがデコーダにおける片方の圧縮データに集中する。このため、誤り訂正可能数は減少してしまう。したがって、素材収録可能数と誤り訂正可能数とはトレードオフの関係にある。
【０００５】
なお、半導体メモリチップのエラーをリード・ソロモン訂正符号を用いて訂正する方法は、以前より提案されているが（例えば、特許文献１参照。）、動作並列数と素材データ収録可能数との間のトレードオフの関係による問題を解決するものではない。
【特許文献１】特開２００１−１３４４９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上のように、従来から、誤り訂正可能数を増加させると、素材データ収録可能数が減少し、素材データ収録可能数を増加させると、誤り訂正可能数が減少するというトレードオフの関係が存在していた。
【０００７】
この発明は上記事情によりなされたもので、その目的は、動作並列数を減らしても、つまり素材データ収録可能数を増加させても、誤り訂正可能数を維持することの可能な半導体メモリ蓄積装置とその蓄積制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明に係る半導体メモリ蓄積装置は、入力される素材データを規定のデータレートで順次圧縮すると共に、各圧縮データにそれぞれ誤り訂正符号を付加する入力処理部と、メモリチップの動作並列数に対応する大きさのブロック単位で書き込み・読み出しが可能な不揮発性メモリを備え、前記入力処理部からの圧縮データを前記ブロック単位で前記不揮発性メモリに書き込むメモリユニットと、前記不揮発性メモリから前記ブロック単位で読み出された圧縮データに前記誤り訂正符号によるエラー訂正を施すと共に、当該圧縮データを復号して出力する出力処理部とを具備し、前記メモリユニットは、前記入力処理部から単位容量で順次転送される圧縮データを、転送順序に従って前記単位容量で前記動作並列数と同数分配列し、前記動作並列数を超えたとき、その余剰分を前記転送順序で前記配列とは逆の方向に配列することによって並べ替える手段と、前記単位容量で並べ替えられた圧縮データを、前記配列と対応する前記複数のメモリチップにそれぞれ書き込む手段と、前記複数のメモリチップから前記並べ替えられた圧縮データを読み出す手段と、前記複数のメモリチップから読み出された圧縮データを元の転送順序に戻す手段とをさらに備える。
【０００９】
また、本発明に係る半導体メモリ蓄積装置の蓄積制御方法は、入力される素材データを規定のデータレートで順次圧縮すると共に、各圧縮データにそれぞれ誤り訂正符号を付加する入力処理部と、メモリチップの動作並列数に対応する大きさのブロック単位で書き込み・読み出しが可能な不揮発性メモリを備え、前記入力処理部からの圧縮データを前記ブロック単位で前記不揮発性メモリに書き込むメモリユニットと、前記不揮発性メモリから前記ブロック単位で読み出された圧縮データに前記誤り訂正符号によるエラー訂正を施すと共に、当該圧縮データを復号して出力する出力処理部とを具備する半導体メモリ蓄積装置に用いられ、前記メモリユニットは、前記入力処理部から単位容量で順次転送される圧縮データを、転送順序に従って前記単位容量で前記動作並列数と同数分配列し、前記動作並列数を超えたとき、その余剰分を前記転送順序で前記配列とは逆の方向に配列することによって並べ替え、前記単位容量で並べ替えられた圧縮データを、前記配列と対応する前記複数のメモリチップにそれぞれ書き込み、前記複数のメモリチップから前記並べ替えられた圧縮データを読み出し、前記複数のメモリチップから読み出された圧縮データを元の転送順序に戻す。
【００１０】
上記構成による半導体メモリ蓄積装置とその蓄積制御方法では、入力処理部からの圧縮データを、その転送順序に従ってメモリユニットで並べ替えることにより、偶数番目に転送されるデータと奇数番目に転送されるデータとを１つのメモリチップに書き込むようにしている。こうすることで、１つのメモリチップが故障した場合、そのメモリチップに蓄積された偶数番目のデータと奇数番目のデータとは、メモリチップから圧縮データを読み出す際、出力処理部において、異なる圧縮データに分配される。
【発明の効果】
【００１１】
この発明によれば、素材データ収録可能数の確保のために動作並列数を減らしても、誤り訂正可能数を維持することが可能な半導体メモリ蓄積装置とその蓄積制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら本発明の実施の形態について詳細に説明する。
【００１３】
図１は、本発明の一実施形態に係る半導体メモリ蓄積装置の構成を示すブロック図である。図１に示す半導体メモリ蓄積装置において、エンコーダ１０は、入力される素材データを規定のデータレートで順次圧縮すると共に、各圧縮データにそれぞれリード・ソロモン訂正符号を付加し、メモリユニット２０へ出力する。
【００１４】
メモリユニット２０は、ＣＰＵ（Central Processing Unit）２１と、ＦＰＧＡ（Field Programmable Gate Array）２２と、半導体メモリ２３とを備える。半導体メモリ２３は、ブロック単位で書き込み・読み出しが可能な複数の半導体メモリチップ２３−１〜２３−２５６を有しており、半導体メモリ２３の書き込み・読み出し単位であるブロックサイズは、半導体メモリチップ２３−１〜２３−２５６の動作並列数に対応している。なお、本実施形態における動作並列数は２５６としている。
【００１５】
エンコーダ１０からの圧縮データがメモリユニット２０に入力されると、ＣＰＵ２１は、半導体メモリ２３への書き込みの開始を指示する書き込み信号をＦＰＧＡ２２に出力する。ＦＰＧＡ２２は、ＣＰＵ２１からの書き込み信号を受けると、圧縮データをエンコーダ１０からの転送順序に基づいて、リード・ソロモン長と半導体メモリチップ数を合わせるように並び替え、並び替えた圧縮データを半導体メモリ２３に書き込む。
【００１６】
また、ＣＰＵ２１は、半導体メモリ２３に蓄積された圧縮データの読み出しの開始を指示する読み出し信号を出力する。ＦＰＧＡ２２は、ＣＰＵ２１からの読み出し信号を受けると、半導体メモリ２３からブロック単位で圧縮データを読み出し、その圧縮データを元の転送順序に戻し、デコーダ３０に出力する。
【００１７】
デコーダ３０は、半導体メモリ２３からブロック単位で読み出された圧縮データにリード・ソロモン訂正符号によるエラー訂正を施すと共に、この圧縮データを復号して出力する。
【００１８】
次に、上記構成におけるＦＰＧＡ２２による圧縮データの並び替えを詳細に説明する。
【００１９】
従来の半導体メモリ蓄積装置では、圧縮されたデータ２３９バイト毎にリード・ソロモン訂正符号を１６バイト付加することにより、８バイトまでの誤り訂正を可能とする。このとき、エンコーダは、このリード・ソロモンを２個パラレル動作しているため、５１０バイト単位（５１０＝（２３９＋１６）×２）でリード・ソロモンが成立している。これにより、５１０バイトのデータが１バイトずつ別々の半導体メモリチップに分散されて書き込まれていれば、チップの故障を８個まで訂正可能となる。
【００２０】
例えば、並列して動作させる半導体メモリチップの数（以降、半導体メモリチップの動作並列数とする）が５１２個の場合を想定する。このとき、５１０バイトのデータは１バイトずつ異なる半導体メモリチップに分散されることになる。そのため、半導体メモリチップが１つ故障すると、１バイト分のデータは破壊される。圧縮データに付加したリード・ソロモン訂正符号１６バイトにより、８バイトまでの誤り訂正が可能であるため、半導体メモリ蓄積装置は、半導体メモリチップの故障を８個まで訂正することが可能となる。
【００２１】
次に、動作並列数を半分の２５６個とした場合を想定する。このとき、エンコーダから入力される５１０バイトのデータは、各半導体メモリチップに２回ずつ書き込まれる。そのため、半導体メモリチップが１つ故障すると２バイトのデータが破壊される。この破壊された２バイトのデータは、デコーダにおける２列の圧縮データのうちの一方に集中する。このため、誤り訂正可能数は半減し、メモリチップの故障の訂正可能数は４個までとなる。
【００２２】
図２は、本発明の一実施形態に係るＦＰＧＡ２２による圧縮データの並び替えを示す概念図である。
【００２３】
まず、エンコーダ１０は、素材データを受け取り、２つの２３９バイトのデータに圧縮し、それぞれ末尾にリード・ソロモン訂正符号を１６バイト付加する。これにより、それぞれで８バイトまでの誤り訂正が可能となる。このとき、エンコーダ１０は、このリード・ソロモンを２個パラレル動作しているため、５１０バイト単位（５１０＝（２３９＋１６）×２）でリード・ソロモンが成立している。素材データを圧縮し、リード・ソロモン訂正符号を付加すると、エンコーダ１０は、図２に示される番号順で圧縮データをメモリユニット２０に順次転送する。
【００２４】
メモリユニット２０において、ＦＰＧＡ２２は、圧縮データを受け取ると、その圧縮データを、転送順序に従い、半導体メモリチップ２３−１から半導体メモリチップ２３−２５６に対応させて１バイトずつ配列する。そして、動作並列数２５６を超える、２５７バイトから５１０バイトまでのデータを、転送順序に従い、半導体メモリチップ２３−２５６から半導体メモリチップ２３−３に対応させて、１バイト目から２５６バイト目までの配列とは逆方向で１バイトずつ配列する（図２（ａ），（ｂ））。
【００２５】
ＦＰＧＡ２２により並び替えられた圧縮データは、対応する半導体メモリチップ２３−１〜２３−２５６にそれぞれ書き込まれる。例えば、転送順序が１番目の１バイトは半導体メモリチップ２３−１に書き込まれ、転送順序が２番目の１バイトは半導体メモリチップ２３−２に書き込まれ、転送順序が３番目の１バイトと５１０番目の１バイトとは半導体メモリチップ２３−３に書き込まれる。
【００２６】
さらに、ＦＰＧＡ２２は、半導体メモリチップ２３−１〜２３−２５６から圧縮データを読み出す。このとき、例えば、半導体メモリチップ２３−１からは転送順序が１番目の１バイトが読み出され、半導体メモリチップ２３−２からは２番目の１バイトが読み出され、半導体メモリチップ２３−３からは３番目の１バイトと５１０番目の１バイトとが読み出される。そして、読み出された圧縮データの配列を、エンコーダ１０から転送されてきた元の転送順序に戻して、デコーダ３０に出力する。
【００２７】
ここで、図２に示すように半導体メモリチップ２３−３が故障した場合（図２（ｃ））、半導体メモリチップ２３−３に書き込まれる３番目のデータと５１０番目のデータが破壊される（図２（ｄ））。読み出された圧縮データが、その配列を元の転送順序に戻され、デコーダ３０に出力されると、この破壊された３番目のデータと５１０番目のデータとは、デコーダ３０におけるそれぞれ異なる圧縮データに分配され、リード・ソロモン訂正符合により訂正される（図２（ｅ））。
【００２８】
次に、上記構成におけるＣＰＵ２１による制御動作を説明する。図３は、本発明の一実施形態に係るＣＰＵ２１のＦＰＧＡ２２に対する制御動作を示すフローチャートである。
【００２９】
まず、ＣＰＵ２１は、メモリユニット２０に圧縮データが入力されたか否かを判断する（ステップＳ１）。メモリユニット２０に圧縮データが入力された場合（ステップＳ１のＹｅｓ）、ＦＰＧＡ２２に書き込み信号を出力する（ステップＳ２）。
【００３０】
続いて、ＣＰＵ２１は、半導体メモリ２３から圧縮データを読み出すか否かを判断する（ステップＳ３）。圧縮データを読み出す場合（ステップＳ３のＹｅｓ）、ＦＰＧＡ２２に読み出し信号を出力して（ステップＳ４）、処理を終了する。
【００３１】
以上のように、上記半導体メモリ蓄積装置は、エンコーダ１０からの圧縮データの転送順序に従い、圧縮データを、半導体メモリチップ２３−１から半導体メモリチップ２３−２５６に対応させて１バイトずつ配列する。そして、動作並列数である２５６を超える、２５７バイトから５１０バイトまでのデータを、転送順序に従い、半導体メモリチップ２３−２５６から半導体メモリチップ２３−３に対応させて１バイトずつ配列するようにしている。
【００３２】
このように並べ替えることにより、１つの半導体メモリチップに２バイト以上のデータが書き込まれる際、半導体メモリチップには、転送順序が奇数番目のデータと偶数番目のデータが書き込まれることとなる。ここで、いずれかの半導体メモリチップが故障した場合、その半導体メモリチップに蓄積される奇数番目のデータと偶数番目のデータが破壊される。そして、この奇数番目のデータと偶数番目のデータが破壊された圧縮データが読み出され、元の転送順序に戻された後、デコーダ３０に入力されると、奇数番目のデータと偶数番目のデータとは、デコーダ３０における異なる圧縮データに分配され、それぞれ異なるリード・ソロモン訂正符号により訂正される。すなわち、リード・ソロモン訂正符号の誤り訂正可能数は、半導体メモリチップそれぞれに１バイトのデータのみを書き込む際と変わらない。
【００３３】
これらのことから、半導体メモリ蓄積装置は、素材データ収録可能数を確保するために動作並列数を減らしても、誤り訂正可能数を減らさずに維持することが可能となる。
【００３４】
なお、この発明は上記実施形態に限定されるものではない。例えば上記実施形態では、誤り訂正符号として、リード・ソロモン訂正符合を利用する例について説明したが、リード・ソロモン訂正符号以外の誤り訂正符合を利用する場合でも同様に実施可能である。
【００３５】
また、上記実施形態では、半導体メモリチップの動作並列数を２５６とする例について説明したが、動作並列数が２５６以外である場合でも同様に実施可能である。
【００３６】
また、上記実施形態では、エンコーダで、素材データを２つの２３９バイトのデータに圧縮する例について説明したが、エンコーダでデータを圧縮する際のデータレートは、この値に限定されるものではない。
【００３７】
さらに、本発明は、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００３８】
【図１】本発明に係る半導体メモリ蓄積装置の一実施形態の構成を示すブロック図。
【図２】上記一実施形態のＦＰＧＡによる圧縮データの並び替えを示す概念図。
【図３】上記一実施形態のＣＰＵのＦＰＧＡに対する制御動作を示すフローチャート。
【符号の説明】
【００３９】
１０…エンコーダ、２０…メモリユニット、２１…ＣＰＵ、２２…ＦＰＧＡ、２３…半導体メモリ、２３−１〜２３−２５６…半導体メモリチップ、３０…デコーダ。
【図１】
2009043076.tif 000003
【図２】
2009043076.tif 000004
【図３】
2009043076.tif 000005