Beispiel #1
0
 public FlashChip BuildNormalFlashChip(
     string id,
     uint rowID,
     uint chipID,
     uint overallChipID,
     FlashChipParameterSet flashChipParams,
     ulong readDataOutputReadyTime,
     ref FlashChip flashChip
     )
 {
     return(BuildNormalFlashChip(
                id,
                rowID,
                chipID,
                overallChipID,
                flashChipParams.dieNoPerChip,
                flashChipParams.planeNoPerDie,
                flashChipParams.blockNoPerPlane,
                flashChipParams.pageNoPerBlock,
                NotListedFlashChipParameters.blockEraseLimit,
                flashChipParams.pageReadLatency,
                flashChipParams.pageWriteLatency,
                flashChipParams.blockEraseLatency,
                readDataOutputReadyTime));
 }
 public Controller BuildControllerBus(
     string id,
     ControllerParameterSet ctrlParams,
     FlashChipParameterSet flashChipParams,
     InterconnectParameterSet netParams,
     MultistageSchedulingParameters copParameters,
     FlashChip[][] flashChips,
     string RTLogFilePath,//path of response time log file: Used to record each response time of each request
     int seed
     )
 {
     return(BuildControllerBus(
                id,
                netParams.BusChannelCount,
                netParams.ChipCountPerChannel,
                NotListedNetworkParameters.channelWidth,
                netParams.readTransferCycleTime,
                netParams.writeTransferCycleTime,
                NotListedNetworkParameters.readCommandAddressCycleCount,
                NotListedNetworkParameters.writeCommandAddressCycleCount,
                NotListedNetworkParameters.eraseCommandAddressCycleCount,
                NotListedNetworkParameters.dummyBusyTime,
                NotListedNetworkParameters.readDataOutputReadyTime,
                NotListedNetworkParameters.ALEtoDataStartTransitionTime,
                NotListedNetworkParameters.WEtoRBTransitionTime,
                NotListedFlashChipParameters.SuspendWriteSetup,
                NotListedFlashChipParameters.SuspendEraseSetup,
                flashChipParams.pageReadLatency,   /*page read delay in nano-seconds*/
                flashChipParams.pageWriteLatency,  /*page write delay in nano-seconds*/
                flashChipParams.blockEraseLatency, /*block erase delay in nano-seconds*/
                flashChipParams.dieNoPerChip,
                flashChipParams.planeNoPerDie,
                flashChipParams.blockNoPerPlane,
                flashChipParams.pageNoPerBlock,
                flashChipParams.pageCapacity,
                NotListedFlashChipParameters.blockEraseLimit,
                NotListedControllerParameterSet.HostBufferSize,
                NotListedControllerParameterSet.GCProperties.GCPolicy,
                NotListedControllerParameterSet.GCProperties.RGAConstant,
                NotListedControllerParameterSet.WGreedyWindowSize,
                NotListedControllerParameterSet.DynamicWearLevelingEnabled,
                ctrlParams.HostInterfaceType,
                ctrlParams.InitialStaus,
                ctrlParams.PercentageOfValidPages,
                ctrlParams.PercentageOfValidPagesStdDev,
                ctrlParams.OverprovisionRatio,
                ctrlParams.DataCachingEnabled,
                ctrlParams.DataCacheCapacity,
                ctrlParams.DFTLEnabled,
                ctrlParams.DFTLCapacity,
                ctrlParams.SchedulingPolicy,
                ctrlParams.SchedulingWindowSize,
                ctrlParams.PlaneAllocationScheme,
                ctrlParams.BlockAllocationScheme,
                NotListedControllerParameterSet.TwainBlockManagementEnabled,
                NotListedControllerParameterSet.CopyBackEnabled,
                NotListedControllerParameterSet.CopybackRequiresOddEvenConstraint,
                NotListedControllerParameterSet.MultiplaneCMDEnabled,
                NotListedControllerParameterSet.BAConstraintForMultiplane,
                NotListedControllerParameterSet.InterleavedCMDEnabled,
                ctrlParams.ReadToWritePrioritizationFactor,
                ctrlParams.WriteToErasePrioritizationFactor,
                ctrlParams.Workloads,
                ctrlParams.LoggingEnabled,
                copParameters,
                RTLogFilePath,//path of response time log file: Used to record each response time of each request
                flashChips,
                seed));
 }