dssc research in data storage channelskumar/ldpcoverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100...

52
DSSC Research in Data Storage Channels Vijayakumar Bhagavatula

Upload: others

Post on 26-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

DSSC Research in Data Storage Channels

Vijayakumar Bhagavatula

Page 2: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

2

Structured low density parity check (LDPC) codesFPGA-based LDPC code evaluationsModulation constraints + LDPC codesTiming recovery for low SNR channels

DSSC Channels ResearchDSSC Channels Research

Page 3: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

3

x is valid codeword if0s Hx= =

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

5

4

3

2

1

0

3

2

1

0

ˆˆˆˆˆˆ

011000001100011010100001

xxxxxx

ssss

H3c 2c 1c 0c

5b 4b 3b 2b 1b 0b

Tanner Graph

LDPC CodesLDPC Codes

Page 4: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

4

LDPC DecodingLDPC Decoding

Bit-to-Check update

Check to bit update

Soft Information

Page 5: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

5

Soft detection and decoding

Exchanging soft information between channel detector and LDPC decoder

3~5 dB Gain over uncoded PRML system at BER 10-5

Soft ChannelDetector

Soft ChannelDetector

LDPC DecoderLDPC

Decoder

Readback signal

Channel Iteration

Decoded bits

Iterative Detection and DecodingIterative Detection and Decoding

Page 6: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

6

1 2

0 0 0 0 0 0 0 0 0 0⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎡ ⎤

⎣ ⎦ ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

= =

1 1 1 1 1 11 1 1 1 1 1

1 1 1 1 1 11 1 1 1 1 1

1 1 1 1 1 11 1 1 1 1 1

1 1 1 1 1 11 1 1 1 1 1

1 1 1 1 1 11 1 1 1 1 1

1 1 1 1 1 11 1 1 1 1 1

1 1 1 1 1 1

H H H

{0 a b}

Assume D1, D2 ,… , Dt are disjoint difference sets (v, j, t), we can construct 4-cycle-free DDS-LDPC code (N=vt, j, k=jt) withDDS-LDPC codes with column weight j ≥ 3 have girth g=6.DDS-LDPC codes have minimum distance

1 2 t=H [H H H ]

min1 2j d j+ ≤ ≤{0 c d}

A set {a1, a2, …,aj}of different residues (mod v) is called a difference set (v, j) if no two of the ordered j(j-1) differences ai-ai’ modulo v are identical.

Disjoint Difference Sets (DDS) CodesDisjoint Difference Sets (DDS) Codes

Page 7: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

7

Array LDPC codesArray LDPC codes

2 1

1 ( 1)( 1)

.. .. .. ..

.. .. .. .... .. .. .. .. .. .. ..

.. .. .. ..

k

j j k j

I I I II

H

I

− − −

⎡ ⎤⎢ ⎥∂ ∂ ∂⎢ ⎥=⎢ ⎥⎢ ⎥∂ ∂ ∂⎣ ⎦

1 0 .. 0 0 0 0 .. 0 10 1 .. 0 0 1 0 .. 0 0

,.. .. .. .. .. .. .. .. .. ..0 0 .. 0 1 0 0 .. 1 0p p p p

I

× ×

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥= ∂ =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

Page 8: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

8

⎥⎥⎥⎥

⎢⎢⎢⎢

=

ctcc

t

t

HHH

HHHHHH

H

21

22221

11211

Each Hij is either an all-zero matrix or a circulant matrix.

•Quasi cyclic LDPC code (QC LDPC) with parity check matrix in circulant form is a good candidate for data storage systems

Low error floor (compared to Turbo codes)Hardware friendly architectureLow routing congestion in ASIC (regular structure of H matrix)Low complexity decodingGood girth

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

0100000100000100000110000

, jiH

Progressive Edge Growth (PEG) Quasi-Cyclic LDPC Codes

Page 9: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

9

speed Cost

Programmability

Comparison of Hardware Platform for DSP Algorithm

FPGA

uPs

ASIC uPs : General Purpose Microprocessor/ Digital Signal Processor

ASIC: Application Specific Integrated Circuit

EPR4 target, depth=15, two-step SOVA

Operations/bit ~200.

Assume 1GHz PC, 3 clock cycles/operation. 1013 bits need 69 days

100Mbps, 1013 bits need 1.15days

Page 10: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

10

Hardware / Software Co-designHardware / Software Co-design

Task Partition:

PCI Port

Generate SamplesCollect Errors Detection/Decoding

High bandwidth

PC FPGA

Collect Errors PCI Port

Generate SamplesDetection/Decoding

High speed sample generation

PC FPGA

Page 11: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

11

FPGA Platform for PR channel

PCI (33.33 MHz) handshaking

RDG ENC FIFO Interleaver

Precoder

PR+AWGN

SOVADe-interleaver

DecoderInterleaver FIFO

Error Distribution Error

CountError Location

Start, stop, noise variance, max error

Error Location, Error number, Error distribution

• Reconfigurable block size, column weight, bit width, iteration number• Suitable for a broad class of LDPC codes• High throughput: for (4617, rate 8/9) code in AWGN, 2Gbps/iteration at 100MHz

Page 12: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

12

4 4.5 5 5.5 6 6.5 7 7.510-8

10-7

10-6

10-5

10-4

10-3

10-2

10-1

100

SNR

BE

R/B

LER

DDS J=3, N=4923, M=547

AWGN Channel Result at 50 LDPC iteration

PR channel with 25 LDPC iterations and 2 channel iterations

BLER

BER BER

BLER

C Simulation

DDS J=3 Code PerformanceDDS J=3 Code Performance

Page 13: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

13

4 4.5 5 5.5 6 6.5 7 7.510

-10

10-9

10-8

10-7

10-6

10-5

10-4

10-3

10-2

10-1

100

SNR

BE

R/B

LER

DDS J=5, N=4923, M=547

AWGN Channel at 50 LDPC iteration PR Channel with

25 LDPC iterations and 2 channel iterations

BLER

BER

BLER

BER

DDS J=5 Code PerformanceDDS J=5 Code Performance

Page 14: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

14

4 4.5 5 5.5 6 6.5 7 7.5 810-9

10-8

10-7

10-6

10-5

10-4

10-3

10-2

10-1

100

SNR

BER

/BLE

R

ARRAY j=3, N=4671, M=519

BER

BLER

AWGN Channel Result at 50 LDPC iteration

PR channel with 25 LDPC iterations and 2 channel iterations

BLER

BER

Array Code J=3 PerformanceArray Code J=3 Performance

Page 15: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

15

Array Code Performance in AWGN

3 3.5 4 4.5 5 5.5 6 6.5 710-12

10-11

10-10

10-9

10-8

10-7

10-6

10-5

10-4

10-3

10-2

10-1

100

SNR

BE

R/S

ER

ARRAY j=3,4,5, Iterations=50

ARRAY j=3, N=4671, M=519ARRAY j=4, N=4716, M=524ARRAY j=5, N=4635, M=515

7 days@100MHz

PossibleDue toFPGA

Page 16: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

16

Code length: 5760 Message length: 5120 Code rate: 8/9

Column Weight: 3, 4, 5Row weight: 27,36,45

Max. # iterations: 15

BER/BLER

1. 0E- 11

1. 0E- 10

1. 0E- 09

1. 0E- 08

1. 0E- 07

1. 0E- 06

1. 0E- 05

1. 0E- 04

1. 0E- 03

1. 0E- 02

1. 0E- 01

1. 0E+00

2. 5 3 3. 5 4 4. 5 5Eb/ N0

BER ( FPGA deg5)

BLER ( FPGA deg5)

BER ( FPGA deg 3)

BLER ( FPGA deg 3)

BER ( FPGA deg 4)

BLER ( FPGA deg 4)

Rate 8/9 QC-LDPC Code

Page 17: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

17

Encoding:

1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1

1 1 0 0 1 1 0 1 1 0 1 0

0 1 0 1 1 0

1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1

Column Parity

Row

Parity

1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1

Input Sequence:

(1)

(2)

Turbo Product Code/Single Parity Check (TPC/SPC) Code

Page 18: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

18

Decoding

1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1

0 1 0 1 1 0

Row

Parity

……

1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1

1 1 0 0 1 1 0 1 1 0 1 0Column Parity

…… ……

Exchange Information

TPC/SPC Decoding

Page 19: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

19

Each TPC/SPC codeword contains 960 bits (32x30), of which 61 bits are parity bitsA sector contains 5 TPC/SPC codewords, i.e., 305 parity bits (about 30 10-bit RS code symbols).Thus, TPC/SPC beneficial only if it offers at least 15 fewer symbol errors than without it.Calculate the error symbols using direct count

after soft output Viterbi algorithm (SOVA)after TPC/SPC decoder

Symbol Error Distributions

960 bits 960 bits 960 bits 960 bits 960 bits

4800 bits

Page 20: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

20

1665626 symbol errors at 7dB49344 symbol errors at 8dB1937 symbol errors at 9dB

Error Statistics W/O PrecodingError Statistics W/O Precoding

0 5 10 15 20 25 30 3510-8

10-6

10-4

10-2

100

Symbol Errors

Blo

ck R

ate

7dB SOVA7dB TPC8dB SOVA8dB TPC9dB SOVA9dB TPC

12

TPC has 305 parity bits. For coding gain: The gap between SOVA and TPC output >15 symbols

Page 21: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

21

Transition noise – Transition jitter noise– Transition width variation

Media nonlinearities– Nonlinear transition shift (NLTS)– Partial erasure (PE)

Inter-symbol interferenceElectronic Noise

Channel ModelChannel Model

Page 22: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

22

2

4 1( ) 250 1 ( )50

tEh t tPWPW

π= ⋅

+

PW50

( ) ( )kk

y t b h t kT= −∑

A single pulsePW50 is the pulse width at 50% of the peak amplitudeEt is the single pulse energy

Readback signalBinary information written as ak=+1 or -1.bk is the difference of ak:

bk = ak-ak-1

Lorentzian Channel Model

Page 23: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

23

Transition Noise

Transition Jitter Width Variation

The jitter noise will cause a random shift in transition position (or a reading timing error)

The width variation can be seen as PW50 variation

( ) ( ) k k kk

y t b h t kT δ= − +∑δk is a Gaussian random variable representing the transition jitter. hk is time varying (PW50 is a Gaussian variable)

T. Oenning and J. Moon, “Modeling the Lorentzian magnetic recording channels with transition noise,” IEEE Trans. Magn.,vol. 37, pp 583-591, Jan. 2001.

Page 24: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

24

PE and NLTS

1( ) ( )4k k k k k k

k

Ty t f b h t kT b bεδ −= − + −∑

Partial Erasure (PE)Each bit cell is partially erased by the field of neighboring field (when transition occurs)Results in an amplitude loss in the readback signal

Nonlinear Transition Shift (NLTS)The previous written bit cells interfere with the current writing field Results in a transition shift

Partial Erasure

Original write bubble

Actual write bubble

Original Transition Position

Actual Transition Position

The writing head

NLTS Interference field

fk is the effective PE ratio:• fk = 1 no transition occurs in adjacent boundaries• fk =γ if one transition• fk =γ2 if two transition •γ is the partial erasure ratio γ<1

ε is the NLTS factor. Note that NLTS effect happened only when consecutive transitions appear

Page 25: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

25

Channel Model– Transition jitter

Transition width variation

– Nonlinear transition shift (NLTS)

– Partial erasure (PE)– Inter-symbol

interference– Electronic noise

(AWGN)

The goal is to evaluate codes under more realistic signal impairmentsThe overall system (LDPC encoder/decoder, SOVA and the recordingchannel) is implemented on a Xilinx Virtex II 8000 FPGA deviceEPR4 equalizer is a 11-coefficient FIR filter

Advanced FPGA Simulator

Page 26: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

26

SNRSNRSNR

Et single pulse energy N0 height of the additive white noise power spectral density

( ) ( , ) / , ( ) ( , ) /j wh t h t w t h t h t w w= ∂ ∂ = ∂ ∂

1-Dak= -1, +1h(t)

hw(t)bk= 0, +2, -2

hj(t)

jk

wk

yk

nk

The modified channel model

02 2

20

/

1 450

j

t

w t

E NSNRE

PW Nσ σ

=+

+

σj and σw are the standard deviations of jitter noise and width variation.

T. Oenning and J. Moon, “Modeling the Lorentzian magnetic recording channels with transition noise,” IEEE Trans. Magn.,vol. 37, pp 583-591, Jan. 2001.

Page 27: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

27

Overall Simulator StructureOverall Simulator Structure

RDG ENC Interleaver

Write processor

SOVA Deinterleaver

DECinterleaverERR ANY

Read processor

Magnetic Recording Channel

Page 28: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

28

FPGA Chip Xilinx Virtex II 8000

Column Weight j = 3

Adaptor AlphaData ADM-XRC-II PCI AdaptorHardware Programming

languageVHDL

LDPC Code Code length 4932, rate 8/9

PR target EPR4SNR region 12dB --- 22 dB

# of iterations 25 LDPC iterations2 channel iterations

Simulator SettingsSimulator Settings

Page 29: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

29

Resource Utilization and Processing SpeedResource Utilization and Processing Speed

Number of Slices

Number of Slice Flip Flops

Number of 4 input LUTs

Number of MULT18X18s

Number of GCLKs

17897 out of 46592 38%

15936 out of 93184 17%

27308 out of 93184 29%

56 out of 168 33%

1 out of 16 6%

The resource utilization (Xilinx Virtex II 8000 -4 )Total equivalent gate count for design: 3,696,944

Processing speed and throughputClock speed 40 Mbits/sThroughput 180 Mbits/s per iterationActual throughput (simulation) 37 Mb/sTime required to reach BER of 10-11: FPGA ~ 30 hours

C simulation >3,000 hours

Page 30: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

30

High Electronic Noise (Electronic Noise: Transition Noise = 9:1)Normalized Density = 1.0

Bit Error Rate Frame Error Rate

Error Correcting Performance [2]Error Correcting Performance [2]

Page 31: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

31

Medium Transition Noise (1:1)Normalized Recording density = 1.0

Bit Error Rate Frame Error Rate

Error Correcting Performance [3]Error Correcting Performance [3]

Page 32: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

32

High Transition Noise (1:4) Normalized Recording Density: 1

Bit Error Rate Frame Error Rate

Error Correcting Performance [4]Error Correcting Performance [4]

Page 33: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

33

BER reaches 10-8 for transition noise to electronic noise ratios of 1:9, 1:1, and 4:1 at 18.5, 18, 16 dB respectivelyThe SOVA-LDPC code system appears to be more robust to transition noise than to AWGNError floor appears in all 3 casesError floor starts at around BER of 10-8 for the rate 8/9 column weight 3 LDPC code

ObservationsObservations

Page 34: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

34

Normalized Density of 2Normalized Density of 2

At normalized recording density of 2, the BER reaches 10-8

at the SNR level of 17.5

Page 35: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

35

Normalized Density of 2 [2]Normalized Density of 2 [2]

BER and FER performance without media nonlinearities (PE & NLTS)

Page 36: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

36

Effect of Media NonlinearitiesEffect of Media Nonlinearities

3.2 dB

3.2 dB

At normalized recording density of 2, the system suffers about 3.2 dB loss due to media nonlinearities

Comparison of BER and FER between systems with and without media nonlinearities

Page 37: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

37

Effect of Partial ErasureEffect of Partial ErasureBER and FER performance for different PE ratios at SNR of 15.5 dB (no NLTS)

The PE effect will decrease the signal level for consecutive transitionsWhen PE ratio decreases to 0.7, the performance loss is significant

Page 38: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

38

Effect of NLTSEffect of NLTSBER and FER performance for different NLTS levels at SNR of 15.5 dB (no PE effect)

The NLTS effect will alter the transition positionWhen NLTS level reaches 15% of bit length, the performance loss is significant

Page 39: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

39

Normalized Density of 2.6Normalized Density of 2.6

The performance degradation from density 2 is more than 6 dBEPR4 target is not effective for density 2.6

Page 40: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

40

Iteration EfficiencyIteration Efficiency

Inefficient region Waterfall Region Error Floor

Comparing the bit errors eliminated as the iterations progress, the first 10 iterations and the channel iteration are the most efficientAll iterations contribute in the water fall regionIn the error floor region, the iterations are less effective after 10 iterations

Page 41: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

41

With Fewer IterationsWith Fewer Iterations

Reduce the total number of iterations to 10 (in 2 channel iterations) from 50The loss in BER is 1.1 dB in the waterfall regionThe difference is smaller in the error floor regionThe guaranteed throughput is increased by 5

1.1 dB

Page 42: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

42

LDPC and other coding schemes can offer excellent error correction capabilities

LDPC decoders need soft information as input whereas standard RLL decoders output hard bits

Vasic and Pedagani proposed introducing deliberate bit errors (bit flipping) to satisfy Run-Length-Limited (RLL) constraints (TransMag, 1738-1743, May 2004) that the LDPC decoders may be able to correct

Above scheme does not work well if the number of deliberately introduced bit errors is large

We propose a modification to reduce the # of bit flips

Deliberate Bit Errors for RLL ConstraintsDeliberate Bit Errors for RLL Constraints

Page 43: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

43

LDPCEncoder

RLL & DCControl

by flipping

LFSR

Userbits

Initial Value

adjuster

Flip bitsthresholddecision

Buffer

Controlledbits

Improved via a linear feedback shift register (LFSR)

LDPC + RLL

Page 44: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

44

Soft Iterative DetectionSoft Iterative Detection

LDPCDecoder

SOVA/BCJRchanneldetector Decoded

user bitsReliability value

signbits

Receivesequence

Reliabilityvalue

LFSR

Separator

XOR’ed sign bits

Initial valuefrom header field

(or be protected by a short block code)

Page 45: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

45

Low-frequency Content

Page 46: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

46

BER

1. E- 07

1. E- 06

1. E- 05

1. E- 04

1. E- 03

1. E- 02

1. E- 01

1. E+00

4. 5 5 5. 5 6 6. 5 7 7. 5Eb/ N0 ( dB)

BER- LDPC wi t h VR2 and DCf r ee const r ai nt ( | RDS| =36)BER- LDPC wi t h VR2 and DCf r ee const r ai nt ( | RDS| =28)BER- LDPC wi t h VR2 and DCf r ee const r ai nt ( | RDS| =20)BER- LDPC no f l i p

BER of LDPC+RLL

Page 47: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

47

y(t)h[t-τ(t)]ak

n(t)

( ) [ ( )] ( )kk

y t a h t kT t n tτ∞

=−∞= − − +∑

ak the channel bit (i.e., the bits after the modulation code encoder) sequenceh[t-τ(t)] the time-varying channel pulse response showing explicitly the effect of the phase drift

• Timing recovery estimates τ(t) so that synchronous samples (i.e., samples of y(t) corresponding to t=kT if τ(t) were zero) can be extracted for further processing by channel detector• Future storage channels will employ advanced coding and detectors that can cope with very low SNRs, but timing recovery methods may not be able to handle such low SNRs

Timing Recovery

Page 48: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

48

Format for Sectors

Preamble Synch Mark User Data

Acquisition Mode Tracking Mode

EqualizerSimple Data Detector

TED

Continuous Signal

τinst τout

To Advanced Detection

PUG

FUG

D

D Mixer

Free Running Clock

EqualizerSimple Data Detector

TED

Continuous Signal

τinst τout

To Advanced Detection

PUG

FUG

D

D Mixer

Free Running ClockFree Running Clock

Frequency Register

Phase Register

Frequency Register

Phase Register

Timing Recovery: Current Approach

Page 49: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

49

Loss of Lock

0 500 1000 1500 2000 2500 3000 3500 4000-3

-2

-1

0

1

Pha

se o

ffset

(T)

Bit Index (T)0 500 1000 1500 2000 2500 3000 3500 4000

-3

-2

-1

0

1

Pha

se o

ffset

(T)

Bit Index (T)0 500 1000 1500 2000 2500 3000 3500 4000

-3

-2

-1

0

1

Bit Index (T)P

hase

offs

et (T

)0 500 1000 1500 2000 2500 3000 3500 4000

-3

-2

-1

0

1

Bit Index (T)P

hase

offs

et (T

)(Cycle Slip) (Hangup in Tracking)

Phase trajectory of the recovered clockPhase trajectory of the actual clockPhase trajectory of the actual clock shifted up by one bit interval

The event where the recovered clock differs significantly from the actual clock for a significantly long duration leading to error bursts, that may be uncorrectable by the ECC and thus destroy entire sectors of data.

Loss of Lock

Page 50: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

50

VCO is digitally controlled

Converts amplitude to time

Table of Pre-calculated FUG value of Each Bit for First Filter

Continuous Signal

Equalizer

Equalizer

VCO

VCO

Simple Data Detector

Timing Error Detector (TED)

D

D

Decision

2 to 1 Selector

To Advanced Detector

Timing Error Detector (TED)

Decision

Table of Pre-calculated FUG value of Each Bit for Second Filter

Table of Pre-calculated PUG value of Each Bit for First Filter

Table of Pre-calculated PUG value of Each Bit for Second Filter

DPR

FR

FR

PR D

PR is phase register

FR is frequency register

VCO is digitally controlled

Converts amplitude to time

Table of Pre-calculated FUG value of Each Bit for First Filter

Continuous Signal

Equalizer

Equalizer

VCO

VCO

Simple Data Detector

Timing Error Detector (TED)

D

D

Decision

2 to 1 Selector

To Advanced Detector

Timing Error Detector (TED)

Decision

Table of Pre-calculated FUG value of Each Bit for Second Filter

Table of Pre-calculated PUG value of Each Bit for First Filter

Table of Pre-calculated PUG value of Each Bit for Second Filter

DPR

FR

FR

PR D

PR is phase register

FR is frequency register

Table of Pre-calculated FUG value of Each Bit for First Filter

Continuous Signal

EqualizerEqualizer

EqualizerEqualizer

VCOVCO

VCOVCO

Simple Data DetectorSimple Data Detector

Timing Error Detector (TED)

Timing Error Detector (TED)

D

D

Decision

2 to 1 Selector2 to 1 Selector

To Advanced Detector

Timing Error Detector (TED)

Timing Error Detector (TED)

Decision

Table of Pre-calculated FUG value of Each Bit for Second Filter

Table of Pre-calculated PUG value of Each Bit for First Filter

Table of Pre-calculated PUG value of Each Bit for Second Filter

DPR

FR

FR

PR D

PR is phase register

FR is frequency register

Patent Pending

Kalman-filter based Timing Recovery

Dual Segmented Kalman filter-based Storage Timing Recovery (DSK-STR)

Page 51: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

51

6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 1210

-5

10-4

10-3

10-2

10-1

SNR(dB)

Loss

of L

ock

Rat

e

Conventional Hard Decision Directed TED SchemeSDD-TED DSK-STRHard Decision Directed DSK-STRSDD-TED DSK-STR Linear Phase Drift ModelSDD-TED Single Segmented-Kalman-Filter

Loss of Lock Rates

Page 52: DSSC Research in Data Storage Channelskumar/LDPCOverview.pdf · 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR BER/BLER ARRAY j=3, N=4671, M=519 BER BLER AWGN Channel Result at 50 LDPC iteration

52

New implementation-friendly structured LDPC codes being designed and evaluatedLDPC codes with runlength and DC controlFPGA Platform enabling us to investigate code performance at very low BERs & error floorsEnhancing the FPGA platform to include more realistic signal impairmentsNew methods for timing recovery in low SNR

Summary