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)); }